[英]How to use awk to delete lines of file1 whose column 1 values exist in file2 in Ubuntu?
说我们有这样的file1.csv
"agvsad",314
"gregerg",413
"dfwer",53214
"fewf",344
和file2.csv这样
"dfwer"
"fewf"
如何使用awk删除file2中存在第1列值的行并获取file3如下所示:
"agvsad",314
"gregerg",413
顺便说一下,我正在处理数百万条线
awk 'NR==FNR{seen[$0]++; next} !seen[$1]' file2.csv FS=, file1.csv
awk 'NR==FNR{seen[$0]++; next} !seen[$1]' file2.csv FS=, file1.csv
应该做您想要的,但是它将需要足够的内存来为file2.csv中的每一行存储一个条目。
或者,使用grep:
$ grep -vf file2.csv file1.csv
"agvsad",314
"gregerg",413
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.