awkコマンドは「終了していない文字列」エラーを発生させます。

awkコマンドは「終了していない文字列」エラーを発生させます。

awkコマンドを使用して行を挿入すると、終了していない文字列エラーが発生します。

入力ファイルは次のとおりです

date      mean       rms       bias                                       
.....    .....       ....      .......                                         
.....       .....        ........           .........                         
......        ........  .......           .......

ここに日付、平均、rms、および偏差の新しい値を挿入する必要があります。

私のスクリプトは次のとおりです

echo $PDY $mean $rms  $bias                                      
awk '/Date/ { print; print "'$PDY' \t'$mean' \t'$rms' \t'$bias'"; next }1' file.txt

端末ログは次のとおりです。

+ echo 20180131 76.196 578.177 903.000                        
20180131 76.196 578.177 903.000
+ awk '/Date/ { print; print "20180131 \t' '76.196 \t578.177 \t903.000"; next }1' file.txt                                                      
awk: /Date/ { print; print "20180131 \t
awk:                       ^ unterminated string

print; print "20180131 \tawkコマンドの後に ""(スペース/スペース)があります。なぜ出てくるのか分からない

解決策を教えてください。

ベストアンサー1

文字列は'2番目の文字列で始まり、終了します'

awk '/Date/ { print; print "20180131 \t'

エラーメッセージの終了していない文字列はです"20180131 \t

代わりに"内部的に使用してエスケープしてください。"\"

awk "/Date/ { print; print \"20180131 \t' '76.196 \t578.177 \t903.000\"; next }1" file.txt

おすすめ記事