在awk中,可以使用循环来比较两列。以下是一个示例代码:
awk '{
for(i=1; i<=NF; i++) { # 遍历每一列
if($i == $(i+NF)) { # 比较第一列和第二列的值
print "Columns", i, "are equal:", $i
} else {
print "Columns", i, "are not equal:", $i, $(i+NF)
}
}
}' file.txt
在上述代码中,NF表示当前行的字段数,$i表示第i列的值,$(i+NF)表示第i+NF列的值(即比较第一列和第二列的值)。
假设有一个名为file.txt的文件,其内容如下:
1 2
3 3
4 5
运行以上代码,将输出以下结果:
Columns 1 are equal: 1
Columns 2 are not equal: 2 3
Columns 1 are not equal: 3 4
Columns 2 are not equal: 3 5
Columns 1 are not equal: 4 1
Columns 2 are not equal: 5 2
这表示第一列的第一行和第二行相等,第二列的第一行和第二行不相等,依此类推。
上一篇:awk如何动态地确定字段数目?
下一篇:awk如何在HDFS目录下工作?