2012-01-21 155 views
2

我寫在Ubuntu shell腳本,並使用 sed命令與newline \n取代的TOREPLACE 所有出現。輸出「sed的」命令變量

sed 's/TOREPLACE/\n/g' /home/user/source.txt 

這個偉大的工程,但我真正想要做的是 到輸出從上面分配給一個變量:

TTT=$(sed 's/TOREPLACE/\n/g' /home/user/source.txt) 
echo $TTT 

echo $TTT沒有達到預期的輸出...當我嘗試用其他字符串替換 TOREPLACE一切工作正常。

當我重定向sed到一個文件中的所有換行符替換工作了。

上面的變量分配有什麼問題?

+0

歡迎的StackOverflow(SO)請remeber通過灰色三角形,http://i.imgur.com/kygEP讀好Q/A中的常見問題,http://tinyurl.com/2vycnvr,投票。 png,並通過按複選標記http://i.imgur.com/uqJeW.png接受最能解決問題的答案(如果有的話)。祝你們好運。 – shellter

回答

2
echo "$TTT" 

應該可以正常工作爲好。

+0

確實很好,這是問題:) 這似乎提出了一個重要的區別... 謝謝兩位! – JoeFrizz

+0

@JoeFrizz:你幾乎總是應該引用變量。 –

2

我沒有看到變量賦值的問題。嘗試 echo "${TTT}"

+0

謝謝 - 問題解決了:) – JoeFrizz