例如,我在文件
中有如下数据IP=0.0.0.0 FIRST=20140626 LAST=20140626
IP=1.1.1.1 FIRST=20140626 LAST=20140626
IP=2.2.2.2 FIRST=20140626 LAST=20140626
IP=3.3.3.3 FIRST=20140626 LAST=20140626
IP=4.4.4.4 FIRST=20140626 LAST=20140626
我需要比较每个IP的FIRST和LAST coulmn是否相同 我正在尝试使用awk来搜索FIRST和LAST模式
任何帮助非常感谢
答案 0 :(得分:0)
不知道您的确切输出格式,这可能会有所帮助:
awk -F'[= ]*' 'NF{print $2, ($4!=$6?"not ":"")"same"}' file
以您的示例打印:
0.0.0.0 same
1.1.1.1 same
2.2.2.2 same
3.3.3.3 same
4.4.4.4 same
答案 1 :(得分:0)
您可以尝试使用此awk命令根据第一个和最后一个中的ip存在来打印Equal
或不相等。
$ awk -F[\ \=] '!NF{next} { if($4==$6) {print "Equal"} else print "Not Equal"}' file
Equal
Equal
Equal
Equal
Equal
答案 2 :(得分:0)
这应该做:
awk -F ' |=' '$4==$6'
这有点像惯用语,它只会在$4=$6
答案 3 :(得分:0)
awk '{split($1,i,"=");split($2,a,"=");split($3,b,"=");
if(a[2] == b[2]) print i[2] " equal"; else print i[2]" not equal"; }'
input.txt
输出:
0.0.0.0 equal
1.1.1.1 equal
2.2.2.2 equal
3.3.3.3 equal
4.4.4.4 equal
其中input.txt包含所需数据