使用BSD计算具有不可打印字符的行

时间:2018-03-22 13:12:04

标签: bash macos grep bsd

我试图在BSD风格的系统上的文件中找出一些不良数据,这意味着我在grep中没有-P选项。我有700万行数据,一个子集有一些奇怪的字符。如果你少了一点"在文件上,您会看到类似的内容:

290437430@89
9^@0333465@88
290348389@87
290342818@8^@

^ @来自一个不正常的字符,该字符不是由于串行线路上的噪音而显示的字符。这些行已损坏,我想计算损坏的数据字符串的数量。

任何建议都将不胜感激。

1 个答案:

答案 0 :(得分:2)

根据切普纳的建议,在此处添加以下解决方案:

grep -c '\x00' Input_file

以下2只会只提供文字字符。

如果您只想计算@,那么一个简单的grep就可以为您提供帮助。

grep -c "@"  Input_file

或者在计算^@的情况下,以下内容可能对您有帮助。

grep -c "\^@"  Input_file