36

エコーを使用して非ASCII文字を書き込むにはどうすればよいですか?そのようなエスケープシーケンスはあり\012ますか?

以下を使用してASCII文字をファイルに追加したい:

echo ?? >> file
4

6 に答える 6

36

移植性を重視する場合は、echoをドロップしてprintf(1)を使用します。

printf '\012'
于 2009-03-18T13:18:36.137 に答える
31

使用する

echo -e "\012"
于 2009-03-18T11:29:47.503 に答える
14

私の端末では、

printf '\012' >>output.txt

アスキー文字の 8 進数表現と対応する 16 進数の両方で機能します。

printf '\xA' >>output.txt

コマンド

echo -en '\012' >>output.txt

ただし、正しく機能しません。echo -e では 16 進数のみが機能するようです。-n は、エコーからデフォルトの余分な改行を削除します。

于 2014-01-16T17:37:03.027 に答える
4

ANSI-C Quoting をecho次のように使用できます。

echo $'\012' # octal

echo $'\x0a' # hex
于 2019-12-06T22:22:20.137 に答える