0

我无法在maninfo页面中找到此答案,也无法在此处或 Google 上进行搜索。我有一个文件,本质上是一个文本文件,但它在保存时不知何故搞砸了。(我认为文件前面不小心出现了一些奇怪的字节。)

我能够打开文件,使用heador是有意义的cat,但不使用任何类型的编辑器。

最后,我想做的就是在 emacs 中打开文件,删除“乱七八糟”的字符,并在清理后保存。但是,该文件很大,因此我需要诸如 emacs 之类的强大功能才能打开它。

否则,我想我可以尝试创建一个脚本来逐行读取它,强制脚本以文本格式读取它,然后编写它。但我想要一些快速的东西,因为我不会一遍又一遍地这样做。

谢谢!麦克风

4

4 回答 4

2
perl -i.bk -pe 's/[^[:ascii:]]//g;' file

在这里找到了这个 perl one liner:http ://www.perlmonks.org/?node_id=619792

于 2012-01-25T00:42:59.607 回答
1

M-xfind-file-literally在 Emacs 中尝试。

于 2012-01-25T09:38:03.240 回答
0

您可以使用strings抓取“文件中的可打印字符”。--encoding尽管我只使用它从可执行文件中获取 ascii 字符串,但您可能不得不使用它。

于 2012-01-25T01:13:28.560 回答
0

您可以使用hexl-mode编辑文件,它允许您以十六进制编辑文件。这会让你准确地看到那些有问题的角色是什么,并删除它们。

听起来您要么在文件中有不同的行结尾(例如:*nix 系统上的回车),要么以意外的编码保存。

于 2012-01-25T00:35:42.017 回答