如何通过列出名称来复制文本文件的某些行

时间:2016-07-04 09:01:33

标签: linux command-line terminal

我有一个包含2,000,000行(text1)的文本文件,我想通过包含部分行(text2)来提取一些行。 例如:

Text1

seq1 TNS 23 45 67 81 92
seq2 trq 54 67 80 73 12
seq3 ewr 59 61 51 51 71
seq4 qto 54 94 93 92 02

Text2

seq2
seq3
seq4

我需要从Text1中提取所有Text2输入。

任何答案将不胜感激, 感谢

2 个答案:

答案 0 :(得分:3)

使用此选项匹配text1text2匹配的行

grep -f text2 text1

这是我试过的例子

$> cat text1
seq1 TNS 23 45 67 81 92
seq2 trq 54 67 80 73 12
seq3 ewr 59 61 51 51 71
seq4 qto 54 94 93 92 02

$> cat text2
seq2
seq3
seq4

$> grep -f text2 text1
seq2 trq 54 67 80 73 12
seq3 ewr 59 61 51 51 71
seq4 qto 54 94 93 92 02

答案 1 :(得分:0)

将匹配构造为正则表达式,并通过grep:

运行它
egrep 'seq2\|seq3\|seq4' Text1