我的 fileA 包含以下内容:
12345:$gfdgfgfgfgfgfgfdgdgfgfdgfdg/:17436:0:99999:7:::
67890:$kjhwhkjhwekjrhwkejhwkjehkjl/:17433:0:99999:7:::
14567:$aaaaaaaaaaaaaaaaaaaaaaaaaaa/:17437:0:99999:7:::
我的 fileB 包含以下内容
12345:$gfdgfgfgfgfgfgfdgdgfgfdgfdg/:17436:0:99999:7:::
14567:$bbbbbbbbbbbbbbbbbbbbbbbbbbb/:17437:0:99999:7:::
67890:$ccccccccccccccccccccccccccc/:17433:0:99999:7:::
我想比较 fileA 和 fileB 。如果fileB中的任何行与fileA相比没有变化,那么我想打印该行的第一个单词。
因此,根据我上面给出的例子,输出应该只是以下内容。
12345
我试过diff
和comm
。但是, fileB 中的行可能与 fileA 中显示的顺序不同。
非常感谢任何帮助。
答案 0 :(得分:1)
grep -f fileA fileB | awk -F: '{print $1}'
答案 1 :(得分:1)
这个awk单行应该做的工作:
awk -F':' 'NR==FNR{a[$0]=1;next}a[$0]{print $1}' fileA fileB