AWKを使用してファイルレコードの末尾に\ nを追加する方法

AWKを使用してファイルレコードの末尾に\ nを追加する方法

1つ以上の行を含むことができるファイルがあります。

oracle1.txt
oracle2.txt
oracle3.txt

AWKを使用して表示する最後の行の後に\ nを追加する方法

oracle1.txt
oracle2.txt
oracle3.txt\n

私はそれを試しましたが、echo -e "\n" >> manifest.txtファイルの末尾に\ nの代わりに-eaを付けました。私は何が間違っていましたか?

ベストアンサー1

コメントですでに述べたように、echo >> manifest.txtこれはほとんどのシェルで機能し、echo '' >> manifest.txtシェルがわからない場合はより安全になる可能性があります。

本当にこれを行うには、次の規則awkを使用できますEND(説明にも記載されています)awk 'END{printf "\n"}' >> manifest.txt

printf代わりに&を使用するprintか、次をEND使用することもできますBEGINawk 'BEGIN{print ""}' >> manifest.txt

manifest.txt入力として使用awkし、出力として使用したくない場合は(awk同じファイルを読み書きできません)、単純なことawk 1 manifest.txtが可能です(少なくともon GNU awk、そうでない場合はawk '1;END{print ""} manifest.txtトリックを実行する必要があります)。入力が次のように分かれているからです。記録頼る記録区切り記号 RS(デフォルトは\n1で、常にtrueと評価されるため、デフォルト値は行動{print})はすべての行で実行されます。printprint $0同じでprintf $0 ORSORSはい出力レコード区切り記号\n最後に、デフォルトは.soです。記録入力で終わらない内容は\n出力でも続きます。\n

おすすめ記事