我想在特定文本后的下一行中将输出插入到文件中。
在我的输出(Text1.txt)中,我有不同的域名:
hxxp://example1.com
hxxp://example2.com
我想将这些行插入另一个文本文件(Text2.txt)后面的文字" URL找到" (注意:我不知道行号)。
bla
bla
bla
URLs found
hxxp://example1.com
hxxp://example2.com
bla
bla
我该怎么做?
答案 0 :(得分:4)
您可以使用sed执行此操作:
sed -i '/URLs found/r Text1.txt' Text2.txt
匹配模式时,插入Text1.txt的内容。 -i
开关表示sed就地编辑文件。
或者,您可以在awk中执行相同的操作:
awk 'NR==FNR{a[n++]=$0;next} 1; /URLs found/{for (i=0;i<n;++i) print a[i]}' Text1.txt Text2.txt > tmp && mv tmp Text2.txt
将Text1.txt中的所有行读入数组。 1;
表示打印Text2.txt中的每一行。匹配模式时,也会打印数组的内容。
答案 1 :(得分:3)
sed
让它变得非常简单:
sed -i '/URLs found/ r Text1.txt' Text2.txt