我正在关注此帖finding contents of one file into another file in unix shell script中的示例,但希望以不同方式打印出来。
基本上是文件" a.txt",其中包含以下几行:
alpha
0891234
beta
现在,文件" b.txt",包含以下行:
Alpha
0808080
0891234
gamma
我希望命令的输出是:
alpha
beta
第一个是"不正确的情况"第二个是"从b.txt"中丢失。 0808080
并不重要,它可以在那里。
这与使用grep -f "a.txt" "b.txt"
不同,只打印0891234
。
有优雅的方法吗?
感谢。
答案 0 :(得分:1)
将grep与以下选项一起使用:
grep -Fvf b.txt a.txt
关键是使用-v
:
-v, - 反转匹配 反转匹配感,选择不匹配的行。
当从文件中读取模式时,我建议使用-F
选项,只要您不明确希望将模式视为正则表达式。
-F, - 固定字符串 将PATTERN解释为固定字符串(而不是正则表达式)的列表,由换行符分隔,其中任何一个 是匹配。