比较两个不同文件中的非连续字段



我有一个File_1.txt,里面有以下数据。

1234
2567

第二个文件File_2.txt包含以下数据。

2015-10-30,1234,zxcfgdk,kyfz
2015-10-30,2567,askjfkj,aaaa
2015-10-30,8888,bsjfjah,iojk

我想将File_1.txt数据与File_2.txt的列 2 数据进行比较。如果匹配,则将整行File_2.txt重定向到单独的文件。以及与另一个文件不匹配

的那个。

用谷歌搜索了很多页面。但没有任何帮助。

谢谢!

awk

$ cat s.awk
BEGIN { FS="," }
NR==FNR { a[$1]; next }
$2 in a { print > "matched.txt" }
!($2 in a) { print > "missing.txt" }
$ awk -f s.awk f1 f2
$ cat missing.txt
2015-10-30,8888,bsjfjah,iojk
$ cat matched.txt
2015-10-30,1234,zxcfgdk,kyfz
2015-10-30,2567,askjfkj,aaaa

grep

另一种可能性是简单地使用 grep,但您需要确保 file1 中的值永远不会出现在 file2 之外的 file2 中(单词分隔):

$ grep -w -f f1 f2
2015-10-30,1234,zxcfgdk,kyfz
2015-10-30,2567,askjfkj,aaaa
$ grep -v -w -f f1 f2
2015-10-30,8888,bsjfjah,iojk

相关内容

  • 没有找到相关文章

最新更新