file1.csv - 带有以下格式超过10万行的手机号码列表;
447421475159,
447421475160,
447421475161,
447421475162,
447421475157,
447421475158,
447421475154,
447421475155,
447421475452,
447421475209,
file2.csv:携带大约1900个手机号码,格式与上述相同。
我需要交叉检查两个文件之间的公共行并将其放在第3个文件中。
答案 0 :(得分:1)
使用unix命令comm
,它在两个已排序的文件中查找公共行。由于您的文件未排序(从您的帖子判断),您还应该使用sort命令。总之,使用:
comm -12 <( sort file1.csv ) <( sort file2.csv ) > outputFile
答案 1 :(得分:0)
此脚本
for i in `cat file2.csv`; do j=`grep $i file1.csv | wc -l`; if [[ $j -gt 0 ]]; then echo $i >> output.csv; fi; done
将逐行从file2.csv获取所有数字,并将其与file1.csv进行比较。如果file2.csv中的number至少在file1.csv中找到一次,它将在output.csv中写入。
答案 2 :(得分:-1)
试试这个
cat file1.csv | grep -f file2.csv
这将打印2个文件之间共有的所有手机号码
抱歉忘记添加-f选项