fly*_*ire 30 linux bash ascii echo non-ascii-characters
如何使用echo 编写非ASCII字符?是否有转义序列,例如\012或类似的东西?
我想使用以下方法将ASCII字符附加到文件:
echo ?? >> file
Run Code Online (Sandbox Code Playgroud)
Nie*_*jou 30
如果你关心可移植性,你将丢弃echo并使用printf(1):
printf '\012'
Run Code Online (Sandbox Code Playgroud)
var*_*tec 26
使用
echo -e "\012"
Run Code Online (Sandbox Code Playgroud)
mar*_*aft 13
在我的终端上,
printf '\012' >>output.txt
Run Code Online (Sandbox Code Playgroud)
适用于ascii字符的八进制表示和相应的十六进制:
printf '\xA' >>output.txt
Run Code Online (Sandbox Code Playgroud)
命令
echo -en '\012' >>output.txt
Run Code Online (Sandbox Code Playgroud)
但是,功能不正常.只有十六进制似乎与echo -e一起使用.-n从echo中删除默认的额外换行符.
您可以使用 ANSI-C 引用echo:
echo $'\012' # octal
echo $'\x0a' # hex
Run Code Online (Sandbox Code Playgroud)