エコーを使用して非ASCII文字を書き込むにはどうすればよいですか? \012
などのエスケープシーケンスはありますか?echoを使用して非ASCII文字を書き込むにはどうすればよいですか?
は、私が使用してファイルにASCII文字を追加したい:
echo ?? >> file
エコーを使用して非ASCII文字を書き込むにはどうすればよいですか? \012
などのエスケープシーケンスはありますか?echoを使用して非ASCII文字を書き込むにはどうすればよいですか?
は、私が使用してファイルにASCII文字を追加したい:
echo ?? >> file
使用
echo -e "\012"
を使用すると、移植性を気にした場合、あなたははエコードロップしのprintfを使用します(1):
printf '\012'
...信頼されていないソースからのエスケープシーケンス 'printf '%b' '\ 012"を受け取り、他のフォーマット文字列の内容を無視するようにしてください。 –
端末は、ASCII文字の進表現、および対応する16進の両方について
printf '\012' >>output.txt
作品:
printf '\xA' >>output.txt
コマンドしかしながら
echo -en '\012' >>output.txt
、正しく機能しません。 16進数だけがecho -eで動作するようです。 -nは、エコーからデフォルトの余分な改行を削除します。
_My_質問は、実際に端末に16進数を表示する方法でした - これはGoogleで見つけました。これが私の質問に非常によく答えました。また、質問者の質問にも答えます。より多くのポイントが必要です。 – Wyatt8740
私は、少なくとも私の場合には、Unicodeを意味する非ASCIIを取ったが、printf "\x##"
は私の2バイトの解決のために十分ではありませんでしたので、私が代わりにこのわずかに異なる構文を使用:
> printf "\u25ba"
►
これは、機能を必要としますこれはPOSIXに完全には準拠していません(拡張機能だけでなく、 '-n'以外のフラグを指定することができない仕様では積極的に禁止されています)。POSIXモードではbashでさえも、 xpg_echo'フラグがセットされる。 –