我在处理一个文本文件(特别是 latex .tex 文件)时突然断电。我一直定期保存文件,所以并不太担心丢失工作。但现在我根本无法使用该文件 - 如果我使用 gedit 打开它,它全是乱码,并显示以下错误消息:
打开文件“[...].tex”时出现问题。 您打开的文件包含一些无效字符。如果继续编辑此文件,可能会损坏此文档。您也可以选择其他字符编码,然后重试。
(它采用的是 UTF-8 - 尝试了其他选项但无济于事)
有没有办法恢复文件?不是我没有保存的作品 - 而是保存之前的整个文件?
答案1
您的文件中有 NUL 值(由于电源故障)。
tr < {original_file} -d '\000' > {backupfile}
将在创建 {backupfile} 时从 {original_file} 中删除 NUL 值。
在删除 {original_file} 之前,请检查 {backupfile} 并确认其正确无误。
如果你
file {original_file}
它可能会告诉您它是一个“二进制文件”而不是“文本文件”。