我有 2 个文件。
文件 1:
123456789
789465123
456789132
文件2:
r6rg6r6,123456789
dfg4665,789465123
dthegfd,456789132
我需要匹配 id 并将 id 打印到文件中
r6rg6r6
dfg4665
dthegfd
我尝试了awk
、cmp
、comm
、diff
,但什么也没有
这是我尝试在命令行中运行的命令
awk '(NR==FNR){a[$1]; next}($2 in a){print $1}' file1 file2 > test.csv
你试过grep
吗,它非常强大
grep -F <file1> <file2> | cut -d ' ' -f1
或者只是awk
:
awk '(NR==FNR){a[$1]; next}($2 in a){print $1}' <file1> <file2>
但是,由于您已经尝试过此解决方案,因此可能是由于 dos/windows 副本导致的 CRLF 终止问题。虽然您可以使用 dos2unix
解决此问题,但您也可以使用以下 awk
行(仅限 GNU awk):
awk -v RS='\r?\n' '(NR==FNR){a[$1]; next}($2 in a){print $1}' <file1> <file2>
我是一名优秀的程序员,十分优秀!