2014-08-28 49 views
1

我想在特定文本之後的下一行中將輸出插入文件...。在特定文本之後插入文本

在我的輸出(Text1.txt)我有不同的線路用域名:

hxxp://example1.com 
hxxp://example2.com 

我想與文本行後插入該行到另一個文本文件(Text2.txt)「找到的URL「(注意:我不知道行號)。

bla 
bla 
bla 
URLs found 
hxxp://example1.com 
hxxp://example2.com 
bla 
bla 

我該怎麼做?

回答

3

你可以做到這一點使用的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

AWK對我的作品。非常感謝你! – user3022917 2014-08-28 19:24:46

2

sed變得非常簡單:

sed -i '/URLs found/ r Text1.txt' Text2.txt 
相關問題