UTF-8文件test.txt:
AAAAAAAAAAAAAA
hex是
41 41 41 41 41 41 41 41 41 41
sed s/A/B/g test.txt
有效
sed s/\x41/B/g test.txt
不起作用
有些字符是不可打印的,所以我必须使用它们的十六进制,A
只是一个例子。
答案 0 :(得分:11)
shell预处理它,使用单引号。
sed 's/\x41/B/g' test.txt
echo -e \x41 # x41
echo -e '\x41' # A
答案 1 :(得分:4)
如果你只想替换单个字符,你应该能够像这样使用带八进制转义符的tr:
tr '\101' B