在AWK中,可以使用数组来存储每列的最大值,并使用循环遍历文件中的每行数据,更新数组中的最大值。然后,再次遍历文件中的每行数据,检查每列的值是否等于最大值,如果是则打印该行。下面是一个示例代码:
awk '{
for (i=1; i<=NF; i++) {
if ($i > max[i]) {
max[i] = $i
}
}
rows[NR] = $0
}
END {
for (i=1; i<=NR; i++) {
split(rows[i], fields)
for (j=1; j<=NF; j++) {
if (fields[j] == max[j]) {
print rows[i]
break
}
}
}
}' input_file.txt
请注意,上述代码假设输入文件中的列是通过空格或制表符分隔的。可以根据实际情况进行调整。
上一篇:awk:根据两列的连接值添加新列
下一篇:AWK:合并表格,写入空字段