如何从文件中删除非ASCII个字符?
答案 0 :(得分:59)
答案 1 :(得分:8)
tr -dc [:graph:][:cntrl:] < input-file > cleaned-file
假设您要保留“控制”字符和“可打印”字符。根据需要小提琴。
答案 2 :(得分:5)
perl -pe's/[[:^ascii:]]//g' < input.txt > output.txt
答案 3 :(得分:3)
您可以编写如下的C程序:
#include <stdio.h>
#include <ctype.h>
int main(int argc, char **argv)
{
FILE *fin = fopen("source_file", "rb");
FILE *fout = fopen("target_file", "w");
int c;
while ((c = fgetc(fin)) != EOF) {
if (isprint(c))
fputc(c, fout);
}
fclose(fin);
fclose(fout);
return 0;
}
注意:为简单起见,避免了错误检查。
用以下内容编译:
$ gcc -W source_code.c -o convert
使用以下命令运行:
$ ./convert
答案 4 :(得分:1)