在 Linux 终端中读取 Windows 日志文件时,我看到一个奇怪的符号“001E”
我怎样才能用空格代替它?也许像sed -e 's/010e/ /'
答案1
如果您看到方框中有这四个十六进制数字,则表示您的终端的字体不包含该字符。十六进制表示法会告诉您它是哪个字符:U+001E,位于控制字符范围 — 1E 是^^
(即Ctrl-^
)。
如果你想用空格替换它,你可以使用
sed -e 's/\x1E/ /g' <input-file >output-file
或者
tr '\036' <input-file >output-file
(tr
仅接受八进制)。
答案2
取代带有卡隆 (CARON) 的拉丁文大写字母 D, 做这个:
$ sed 's/Ď/ /g'
答案3
使用这回答作为参考:
CHARS=$(python -c 'print u"\u001E".encode("utf8")')
sed 's/['"$CHARS"']//g' < /tmp/utf8_input.txt > /tmp/ascii_output.txt
不过我不确定你的字符是什么...截图显示是 0x001e,但你提到了 0x010e。不管是哪一个,你都可以根据需要更改上面的脚本。