たとえば、ファイルにテキストを追加したいと思いますecho "abc" >>file.txt
。
しかし、これはabc
新しい行の後に追加されます。
abc
ラップせずにファイルの末尾にエコーを追加する方法は?
ベストアンサー1
ファイルがまだ改行文字で終わらず、テキストを追加せずに一部のテキストのみを追加したい場合は、このパラメーターを-n
使用できます。
echo -n "some text here" >> file.txt
ただし、一部のUNIXシステムではこのオプションを提供していませんprintf
。
printf %s "some text here" >> file.txt
(元の引数は、書式指定文字が%s
追加されたテキスト%
に含まれないようにすることでした)
(macOS High Sierraからman echo
):
-N
末尾の改行は印刷されません。これは、
'\c'
iBCS2互換システムのように文字列の末尾に追加することによっても行うことができます。このオプションとその効果は、'\c'
Corによって改訂されたIEEE Std 1003.1-2001(「POSIX.1」)で定義されている実装です。 1-2002.最大の移植性を目的とするアプリケーションでは、抑制された改行を使用することをお勧めしますprintf(1)
。