你如何用 sed 删除 ^@?
How do you remove ^@ with sed?
我正在尝试解析一些日志,其中有一个奇怪的 ^@
符号。我可以在 vim 中通过剪切该字符和 paste/searching 来删除它,但是如何在 bash 命令行中自动删除它。
这行不通
sed 's/^@//'
当在文本文件中遇到由其他替代符号表示的不需要的字节时,hexdump
或 od
之类的工具会有所帮助。试试这个:
复制原始文件。
删除复制文件中的所有内容,除了包含神秘符号的一两行。保存文件。
要查看字节 真正 是什么,请执行:
hexdump -v -e '/1 "%_ad# "' -e '/1 " _%_u\_\n"' file
从列表中找到不需要的字节的十六进制代码,(让我们
说是 00),然后尝试:
sed 's/\x00//' file
如果可行,运行 与原始文件相同的 sed
行。
我正在尝试解析一些日志,其中有一个奇怪的 ^@
符号。我可以在 vim 中通过剪切该字符和 paste/searching 来删除它,但是如何在 bash 命令行中自动删除它。
这行不通
sed 's/^@//'
当在文本文件中遇到由其他替代符号表示的不需要的字节时,hexdump
或 od
之类的工具会有所帮助。试试这个:
复制原始文件。
删除复制文件中的所有内容,除了包含神秘符号的一两行。保存文件。
要查看字节 真正 是什么,请执行:
hexdump -v -e '/1 "%_ad# "' -e '/1 " _%_u\_\n"' file
从列表中找到不需要的字节的十六进制代码,(让我们 说是 00),然后尝试:
sed 's/\x00//' file
如果可行,运行 与原始文件相同的 sed
行。