2014-02-12 79 views
0

我需要找到第一個出現的「all.css」並在此次出現下插入我的文件的內容。我在我的bash腳本中使用的代碼:sed:在第一次模式匹配後插入文件的內容

FILE="$OLD_WEB_SOURCES/logon.html" 
BLA="$DIR/first_insert_android" 
sed '/all.css/ r $BLA' "$FILE" > TMP1 
mv TMP1 "$FILE" 

但是這段代碼不適用於我。變量FILE和BLA的BTW echo顯示正確的路徑。有人能解釋我做錯了什麼嗎?

+1

「但這段代碼不適合我」。究竟如何? – 2014-02-12 13:36:33

+0

@LutzHorn「找到第一個出現的」all.css「並在此次出現以下插入我的文件的內容」 – user1248568

+0

嘗試在sed中使用雙引號($ BLA不用簡單的引號解釋) – NeronLeVelu

回答

2

您需要使用雙引號(")才能訪問sed中的shell變量($ BLA)。 試試這個吧,

sed "/all.css/ r $BLA" "$FILE" > TMP1 
+0

哈哈,它的工作原理!謝謝。我將在10分鐘內接受你的回答。 – user1248568