質問: 改行なしでエコー付きのテキストを追加 echo "abc" >>file.txtのようにファイルにテキストを追加したい。しかし、これは新しい行の後にabcを追加します改行なしでechoを付けてファイルの最後にabcを追加するにはどうすればよいですか?
回答: ファイルがまだ改行で終わっておらず、テキストを追加せずに単にテキストを追加したい場合、_-n_引数を使用できます。_echo -n "some text here" >> file.txt _ただし、一部のunixシステムはこのオプションを提供していません。その場合は、printfを使用できます。_printf %s "some text here" >> file.txt _(最初の_%s_引数は、_%_フォーマット文字が含まれる追加のテキストを防ぐためのものです)_man echo_から(macos high sierraの場合): -n 末尾の改行文字を印刷しません。これは、ibcs2互換システムで行われているように、_'\c'_を文字列の最後に追加することでも実現できます。このオプションと_'\c'_の効果は、corによって修正されたieee std 1003.1-2001( "posix.1")で実装定義されていることに注意してください。 1-2002。最大の移植性を目的とするアプリケーションでは、改行文字を抑制するためにprintf(1)を使用することを強くお勧めします。