首页 > 解决方案 > sed 从许多文件中删除一个特殊的控制字符

问题描述

有人可以给我使用 sed 从嵌套目录中的数千个 html 文件中删除 ^@ 的确切语法吗?^@ 是由生成这些文件的 Windows 程序插入的控制字符。我似乎无法正确使用语法。

我使用文件尝试了此操作(但没有成功),因为我无法在命令提示符下输入控制字符: find ./ *.html -type f -exec sed -i 's/^@//g' {} ;

标签: sed

解决方案


POSIX sed 不处理输入中的 NUL,但 GNU sed 可以使用十六进制转义:

find . -name '*.html' -type f -exec sed -i 's/\x0//g' '{}' +

推荐阅读