2014-10-09 50 views
1

嗨我有這個問題。linux在字符串匹配前插入文件內容

我有一個原始文件:

$cat original.txt 
User has access to the system 

和我要添加到原文件內容的第二檔:

$cat toAdd.txt 
Anna 

結果應該如下:

$cat original.txt 
User Anna has access to the system 

我嘗試了幾個選項,如:

sed '/has/e cat toAdd.txt' original.txt 

,但它不工作:-(

請幫助!

+1

建議的解決方案不會在這種情況下工作。 – MrTeleBird 2014-10-09 10:57:46

+0

解釋爲什麼建議的解決方案無法正常工作! – 2014-10-09 11:44:44

回答

1

通過AWK,

$ awk 'FNR==NR{var=$0; next}{for (i=1;i<=NF;i++){if($i=="has"){$i=var" "$i}}}1' toAdd.txt original.txt 
User Anna has access to the system 
+0

嗨,謝謝!然而,這只是一個簡單的例子。我希望有一個解決方案,我可以傳遞模式來匹配,而不僅僅是基於它在字符串上的位置。在這個例子中,「has」將是要匹配的模式,然後在文件之前插入文本中的文本。 – MrTeleBird 2014-10-09 10:46:45

+0

哦,你是否在原始問題中嘗試了答案? – 2014-10-09 10:49:42

+0

是的,我試過即sed'/ has/r toAdd.txt'original.txt,但它不起作用 – MrTeleBird 2014-10-09 10:53:04

相關問題