如何从文件中删除所有非 ASCII 字符?

如何从文件中删除所有非 ASCII 字符?

我想从目录中的所有 .tex 文件中删除所有非 ASCII 字符。我知道我可以使用以下代码:

LC_ALL=C tr -dc '\0-\177' <file >newfile

对于每个单独的文件,但我有 200 个 .tex 文件。如何将此命令应用于目录中的所有 .tex 文件,并将每个文件替换为具有相同名称的新干净文件?

答案1

只需使用sed就地替换:

LC_ALL=C sed -i 's/[^\x0-\xB1]//g' multiplefiles*.tex

链接到ASCII 表

  • \d0-\d177:十进制
  • \x0-\xB1:十六进制
  • \o0-\o261:八进制

答案2

这可能会做你想做的事:

strings [infile] > [outfile] 

相关内容