如何查找无效字符?

如何查找无效字符?

我正在尝试过滤掉具有“无效字符”的记录(例如 control-m^M字符或根本无效字符)。

例子:

12345 vimal 1235566 ^zfood nation

在这里,^z在 Unix vi 模式下以蓝色显示,我需要脚本来检查记录是否包含无效或未格式化的字符。

答案1

要从文件中删除所有包含控制字符的行:

grep -v '[[:cntrl:]]' file >file.modified

这将创建一个名为 的新文件file.modified。该-v标志grep反转实用程序执行的匹配的含义,并将[[:cntrl:]]匹配包含控制字符的行。

要删除包含 C 语言环境中不可打印字符的行(例如 Unicode 字符):

LC_ALL=C grep -v '[^[:print:]]' file >file.modified

相关内容