如何从文件中提取特定行并将其附加到Shell脚本中的另一个现有文件中,然后从原始文件中删除?

时间:2018-07-19 05:27:33

标签: linux bash shell

假设我有两个文件file1.txt和file2.txt。我需要从file1提取所有以patna开头的行,并将其附加到file2。

file1.txt

patnabihar 11
delhidelhi 22
delhipatna

file2.txt

patnapatna
delhidelhi

输出文件应为

file1.txt

delhidelhi 22
delhipatna

file2.txt

patnapatna
delhidelhi
patnabihar 11

需要将其附加到现有文件上,而不创建新文件。

1 个答案:

答案 0 :(得分:1)

使用awk过滤以“ patna”开头的行,然后附加到file2.txt。删除file1.txt中以“ patna”开头的行。

$ awk '/^patna/' file1.txt >> file2.txt
$ sed -i '/^patna/d' file1.txt