根据另一个文件中的模式删除行 [英] Delete lines based on patterns in another file
本文介绍了根据另一个文件中的模式删除行的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有两个档案:
input.txt
:
Hi 1-12T2EDD
1-13D62L6Hello
1-15SDWAKWazzup
Wow1-18Z3QWY
filter.txt
:
1-15SDWAK
1-1VF3XHV
我想从 filter.txt
中的 input.txt中
。在SQL理解中,我想通过 filter.txt
来执行左外部连接 input.txt
。
output.txt
:
Hi1-12T2EDD
1-13D62L6Hello
Wow1-18Z3QWY
grep 可以做到这一点:
<$ p $
<$ p $
$ grep -Fvf过滤器输入
Hi 1-12T2EDD
1-13D62L6Hello
Wow1-18Z3QWY
期权: I have two files:
-F
用于固定字符串,因为我们不需要正则表达式匹配
-v
用于逆匹配
-f
用于指定包含字符串的文件以匹配(反转)。input.txt
:Hi 1-12T2EDD
1-13D62L6Hello
1-15SDWAKWazzup
Wow1-18Z3QWY
filter.txt
:
1-15SDWAK
1-1VF3XHV
I want to delete lines with matching pattern from filter.txt
in input.txt
. In SQL understanding, I want to do left outer join input.txt
with filter.txt
.
output.txt
:
Hi1-12T2EDD
1-13D62L6Hello
Wow1-18Z3QWY
解决方案
A simple grep
will do this:
$ grep -Fvf filter input
Hi 1-12T2EDD
1-13D62L6Hello
Wow1-18Z3QWY
Options:
-F
for fixed strings as we don't need regexp matching-v
for inverse matching-f
for specifing the file containing the strings to (inverse) match.
这篇关于根据另一个文件中的模式删除行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文