
awk
私の台本で奇妙に振る舞います。テキストファイルから値を読み取ろうとします(file.txt
以下を参照)。
awk
スクリプトのスペースは無視されますが、awk
デバッグスクリプトでステートメントのみをテストすると正しい出力が得られます。
これはfile.txt
:
cain
jon
chris
johny
anthony
jose
これは私のawk
声明です:awk '{print $1}' file.txt
awk
私のスクリプトにこのステートメントがあるときの出力は次のとおりです。
cain
jon
chris
johny
anthony
jose
awk
テストスクリプトからそのステートメントを分離するときの出力は次のとおりです。
cain
jon
chris
johny
anthony
jose
区切り記号として使用してみましたが、\n
同じ結果が得られました。
awk
私のスクリプトの動作が孤立したスクリプトの動作と異なるのはなぜですか?
追加の説明が必要な場合はお知らせください。
答え1
awk
私の考えでは、これはスクリプト自体ではなくスクリプトのバグかもしれません。
awk
RS
二重改行文字が変数に設定されている場合、状況は次のようになります。
awk '{print $1}' RS='\n|\n\n' file
スクリプトが値を変更したことを確認する必要がありますRS
。