use*_*763 6 grep file find non-ascii-characters
我试图在unix中的数据文件中找出不可打印的字符.代码:
#!/bin/ksh
export SRCFILE='/data/temp1.dat'
while read line
do
len=lenght($line)
for( $i = 0; $i < $len; $i++ ) {
if( ord(substr($line, $i, 1)) > 127 )
{
print "$line\n";
last;
}
done < $SRCFILE
Run Code Online (Sandbox Code Playgroud)
代码无效,请帮我解决上述问题.
您可以使用grep
在文件中查找不可打印的字符,如下所示,它找到所有非可打印的ASCII和所有非ASCII:
grep -P -n "[\x00-\x1F\7F-\xFF]" input_file
Run Code Online (Sandbox Code Playgroud)
-P
为您提供更强大的Perl正则表达式(PCRE)并-n
显示行号.
如果您grep
不支持PCRE,我会直接使用Perl:
perl -ne '$x++;if($_=~/[\x00-\x1F\x7F-\xFF]/){print"$x:$_"}' input_file
Run Code Online (Sandbox Code Playgroud)
你可以尝试这样的事情:
grep '[^[:print:]]' filePath
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8998 次 |
最近记录: |