cmp1文件

cmp1文件

我正在使用 c shell 并尝试使用 awk 比较两个文件。但下面的 awk 语句没有给出任何结果。

需要使用 C shell 在 awk 中实现此解决方案。

awk 'FNR==NR{a[$0]++;next} 
{
{if \!( $0 in a )
{
    print $0
} 
}' cmp1 cmp2 

cmp1文件

file:tst1
md5sum:aED567ZZZ
rowcount:1256

cmp2 文件

file:tst1
md5sum:AED567ZZZ
rowcount:1257

预期输出

rowcount:1257
md5sum:aED567ZZZ

答案1

我不能对这个解决方案抱有太多的信任,但它就是这样

awk 'FNR==NR{a[$0]++;next}
{
{if ( $0 in a == 0 )
{
    print $0
}
}}' cmp1 cmp2

感谢@karthikr 和@jeff

附言。请注意,您的代码示例中缺少 }。

答案2

或者comm -13 cmp1 cmp2,并且您没有任何与 csh 相关的纠缠。

相关内容