从Perl中的文件中删除包含非ASCII字符的行

Joh*_*ton 4 perl file non-ascii-characters

我有一个文件,每小时12,000生成aprox 行6.在其中一些行中,有非ascii字符.

我希望能够运行Perl脚本来删除其中包含非ASCII字符的所有行.

cod*_*ict 6

你可以做:

perl -i.bak -ne 'print unless(/[^[:ascii:]]/)' file
Run Code Online (Sandbox Code Playgroud)

正则表达式解释/[^[:ascii:]]/:

/正则表达式的
  [开始字符类的开始
  ^使这个为字符类(除了列出的内容之外的
    [:ascii:]任何匹配的类)正则表达式
  ]的字符类
/结尾的任何ASCII字符结尾