2016-07-11 7 views
0

ソースファイルの一部の行を変更してファイルを作成する必要があります。 私はループ'while read line; do'を開発しました。スクリプト:あるファイルから別のファイルに行をエコーし​​ても ' t'は出力されません。問題

echo -e "$line" >> "xxxx.c" 

私の問題は、その線の一部が「\ tの」で開始することで、彼らは、出力ファイルを印刷しません:それは内部では、私が読んで、変更しない行がちょうど行きます。

例:

while read line; 
do                
if echo "$line" | grep -q 'timeval TIMEOUT = {25,0};'      
then 
    echo "$line" 
fi 

任意のヘルプ?私もprintfコマンドで試してみましたが、成功しませんでした。

+1

使用 'IFS =が空白とエスケープを維持するために-r line'を読みながら。 – 123

+0

ありがとうございました!問題を解決した – Joster

答えて

1

この場合、echoコマンドから "-e"引数を削除するだけです。エコーのmanページから

-e enable interpretation of backslash escapes 
+0

それは問題ではありません。 – 123