3

ファイルの最後に改行を追加したかったのですが、作業しているファイルの中には、最後の文字として改行文字が含まれていないものがあります。つまり、同じ行に追加しています。

改行文字をチェックし、それに応じて調整する簡単な方法はありますか?

echo "some line of text" >> aFile.txt

4

1 に答える 1

9

次を使用できます。

x=$(tail -c 1 aFile.txt)
if [ "$x" != "" ]
then echo >> aFile.txt
fi
echo "some line of text" >> aFile.txt

$(...)オペレーターは、埋め込まれているコマンドの出力から末尾の改行を削除し、コマンドtail -c 1はファイルの最後の文字を出力します。最後の文字が改行でない場合、文字列"$x"は空になりません。そのため、新しいテキスト行を追加する前に、ファイルに改行を追加してください。

于 2012-05-09T02:24:51.597 に答える