使用 BSD 计算具有不可打印字符的行
Counting lines with non-printable characters with BSD
我试图在 BSD 风格的系统上整理文件中的一些坏数据,这意味着我在 grep 中没有 -P 选项。我有 700 万行数据,其中一个子集有一些奇怪的字符。如果你在文件上点击 "less",你会看到类似这样的内容:
290437430@89
9^@0333465@88
290348389@87
290342818@8^@
^@ 来自一个非 ASCII 的错误字符,由于发送字符时串行线路上的噪音而出现。这些行已损坏,我想计算损坏的数据字符串的数量。
如有任何建议,我们将不胜感激。
根据 Chepner 的建议,在此处添加以下解决方案:
grep -c '\x00' Input_file
以下 2 将仅给出文字字符。
如果您只想计算 @
那么一个简单的 grep
可以帮助您。
grep -c "@" Input_file
或者在计算 ^@
的情况下,以下内容可能会对您有所帮助。
grep -c "\^@" Input_file
我试图在 BSD 风格的系统上整理文件中的一些坏数据,这意味着我在 grep 中没有 -P 选项。我有 700 万行数据,其中一个子集有一些奇怪的字符。如果你在文件上点击 "less",你会看到类似这样的内容:
290437430@89
9^@0333465@88
290348389@87
290342818@8^@
^@ 来自一个非 ASCII 的错误字符,由于发送字符时串行线路上的噪音而出现。这些行已损坏,我想计算损坏的数据字符串的数量。
如有任何建议,我们将不胜感激。
根据 Chepner 的建议,在此处添加以下解决方案:
grep -c '\x00' Input_file
以下 2 将仅给出文字字符。
如果您只想计算 @
那么一个简单的 grep
可以帮助您。
grep -c "@" Input_file
或者在计算 ^@
的情况下,以下内容可能会对您有所帮助。
grep -c "\^@" Input_file