web-dev-qa-db-ja.com

エコーを使用して非ASCII文字を書き込むにはどうすればよいですか?

エコーを使用して、- [〜#〜] ascii [〜#〜] 以外の文字を書き込むにはどうすればよいですか? \012などのエスケープシーケンスはありますか?

ASCII文字をファイルに追加したい:

echo ?? >> file
28
flybywire

使用する

echo -e "\012"
26
vartec

移植性が気になるなら、落とすでしょう エコー そして使う printf(1)

printf '\012'
30
Nietzche-jou

私の端末では、

printf '\012' >>output.txt

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

printf '\xA' >>output.txt

コマンド

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

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

12
mareoraft

少なくとも私の場合は、ASCII以外をUnicodeと見なしていましたが、printf "\x##" 2バイトのソリューションでは不十分だったため、代わりに次のわずかに異なる構文を使用しました。

> printf "\u25ba"
►
1
Pysis