从大型二进制文件中删除回车符

从大型二进制文件中删除回车符

我有一个很大的二进制文件(几乎是二进制文件!),其中有很多 \r\n 在里面[在 Windows 环境中生成,并且无法控制生成应用程序]。我想删除\r从这个大文件 [ =~ 1Gb ] 在另一个旧应用程序中进行进一步处理,该应用程序 \r大喊大叫

有什么简单的方法可以以unix方式做到这一点吗?

答案1

它要么是二进制的,要么不是。如果您的内容实际上不是二进制而只是复杂的文本,这里有一些解决方案。

首先,许多 Linux 发行版都附带一个名为的实用程序dos2unix,您可以在文件上运行该实用程序来转换行结束样式:

$ dos2unix original_file converted_file

tr你也可以这样做:

$ tr -d '\r' < orignal_file > converted_file

或者使用 perl:

$ perl -pne 's/\r$//g' < orignal_file > converted_file

相关内容