【发布时间】:2021-09-24 15:55:56
【问题描述】:
我试图从两个文件中打印一些不匹配的字符串,其中在我的第一个文件中有一些整数值用空格分隔的字符串,我的第二个文件也有一些字符串值与来自的一些字符串值匹配第一个文件,但它前面没有指定任何整数。
使用下面的awk 和diff 命令我试图获取我的第一个文件与第二个文件相比不匹配的数据。
当使用awk 时,它将产生第一个文件的内容,基本上它会打印传递给awk 命令的最后一个参数的内容。
awk -F, 'FNR==NR {a[$1];next} !($0 in a)' f2 f1
当使用diff 时,它会产生第二个文件的内容,这里它会打印传递的第一个参数的内容。
diff --changed-group-format='%<' --unchanged-group-format='' f2 f1
f1
papaya 10
apple 23
Moosumbi 44
mango 32
jackfruit 15
kiwi 60
orange 11
strawberry 67
banana 99
grapes 21
dates 6
f2
apple
mango
kiwi
strawberry
预期结果
papaya 10
Moosumbi 44
jackfruit 15
orange 11
banana 99
grapes 21
dates 6
【问题讨论】:
-
grep -F -vf f2 f1能解决您的问题吗?祝你好运。 -
@shellter 是的 :) 非常感谢
标签: awk sed grep diff file-comparison