从文本文件中删除 NUL 字符的后果是什么?

从文本文件中删除 NUL 字符的后果是什么?

我有一个相当大的文本文件(大约 20GB),我将其用作简单的数据库,因此每条记录都用新行分隔,这种格式的破坏会导致问题。该文件还包含一些 NUL 字符,或者至少我怀疑这是因为它将grep其视为二进制文件。

我遇到过这种情况问题和答案,其中指出:

一些阅读表明 grep 在前一千个左右的字节中寻找空字符,然后据此确定文件是否为“二进制”。

出于这个原因,我正在考虑使用类似的方法从文件中删除这些字符:

tr < file-with-nulls -d '\000' > file-without-nulls

但我想确保这样做不会破坏文件的格式。这可能吗?

答案1

最好的办法是不要删除 NUL,因为它们很可能是文件的核心部分,如果删除它们,则可能会损坏文件甚至完全破坏文件。

相关内容