Linux 如何通过名称列表复制文本文件的某一行

Linux 如何通过名称列表复制文本文件的某一行,linux,command-line,terminal,Linux,Command Line,Terminal,我有一个包含2000000行(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 grep -f text2 text1 我需要从Text1中提取所有Text2输入 任何答复都将不胜感激, 谢谢将匹配项构造成正则表达式,并通过grep

我有一个包含2000000行(
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
grep -f text2 text1
我需要从Text1中提取所有Text2输入

任何答复都将不胜感激,
谢谢

将匹配项构造成正则表达式,并通过grep运行:

egrep 'seq2\|seq3\|seq4' Text1

使用此选项从
text1
匹配
text2

seq2
seq3
seq4
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

感谢您接受这个答案,但我实际上认为@Utsav的答案更好,因为它在技术上做同样的事情,但更容易实现。