我有bash腳本如solaris的回聲 「[」 字符問題
for i in `echo a [ matched.lines`
do
echo $i
done
爲什麼下面
該腳本的輸出
[
匹配。行
我想輸出的文本,因爲它是
一個[matched.lines
我怎麼能做到這一點
感謝您的幫助
我有bash腳本如solaris的回聲 「[」 字符問題
for i in `echo a [ matched.lines`
do
echo $i
done
爲什麼下面
該腳本的輸出
[
匹配。行
我想輸出的文本,因爲它是
一個[matched.lines
我怎麼能做到這一點
感謝您的幫助
我已經取代'人物'與SED全局替換,並沒有求助
對腳本感謝的輸出沒有新線使用shell來讀取一個文件,使用而讀循環
while read -r loop
do
case "$line" in
*]*) echo $line;;
esac
done <"file"
對不起,但這不會做你想做的。您的for
循環使用空格作爲其參數的分隔符。這會導致項目中的每一個在單獨的一行上回顯。添加-n在這裏不起作用,因爲你不會在該行的結尾處獲得\ n。老實說,我不明白你想在這裏做什麼。如果你只是想呼應這種「一[matched.lines」作爲一個字符串,你可以這樣做:
for i in "a [ matched.lines";do
echo $i
done
但我覺得你會誤解如何使用for循環....
爲什麼使用外部循環而不是單個命令? 'echo a [matched.lines' – 2010-02-01 11:16:19
不,這裏只是演示的目的,我有幾行文件來讀取,其中包括「[」所以代碼有循環 – soField 2010-02-01 11:51:33
方括號在這裏不是問題。更多地描述你真正想做的事情。提供更好,更完整的示例。 – 2010-02-02 01:52:10