【问题标题】:How do you remove ^@ with sed?如何使用 sed 删除 ^@?
【发布时间】:2020-07-21 21:25:29
【问题描述】:

我正在尝试解析一些日志,其中有一个奇怪的^@ 符号。我可以在 中删除它,方法是剪切该字符并粘贴/搜索它,但是如何在 bash 命令行中自动删除它。

这行不通

sed 's/^@//'

【问题讨论】:

标签: vim sed symbols


【解决方案1】:

当遇到由其他替代符号表示的文本文件中不需要的字节时,hexdumpod 之类的工具会有所帮助。试试这个:

  1. 复制原始文件。

  2. 删除复制文件中的所有内容,除了包含神秘符号的一两行。保存文件。

  3. 要查看字节真正是什么,请执行以下操作:

    hexdump -v  -e '/1  "%_ad#  "' -e '/1 " _%_u\_\n"' file
    
  4. 从哪个列表中找到不需要的字节的十六进制代码,(让我们 说它是00),然后尝试:

    sed 's/\x00//' file
    

如果可行,请在原始文件上运行相同的 sed 行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-11-04
    • 2016-11-24
    • 1970-01-01
    • 2013-11-20
    • 2011-05-25
    • 2012-09-04
    • 2018-12-10
    • 2015-02-15
    相关资源
    最近更新 更多