Sed 拆下'^@';文件中的行
我有一个文件,其中有一行是这种类型的:Sed 拆下'^@';文件中的行,sed,ascii,binaryfiles,nano,Sed,Ascii,Binaryfiles,Nano,我有一个文件,其中有一行是这种类型的: ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ 实际上,所有其他行都是一个数字列表(矩阵)或******。问题是,我无法用普通编辑器打开这一行,因此我无法删
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
实际上,所有其他行都是一个数字列表(矩阵)或******
。问题是,我无法用普通编辑器打开这一行,因此我无法删除这一行
我可以使用nano
通过shell打开文件
为了消除这一行(即从顶部开始的第二行),我使用了简单的命令:
sed'2d'fort.21.dat
但我无法消除它
有人能帮我去掉这一行并使这个file.dat正常可读吗
非常感谢试试:
tr -d '\0' < fort.21.dat > fixed.21.dat
tr-d'\0'fixed.21.dat
这使用tr
实用程序从文件中删除^@
(零)字节。这些字符是nul字节的显示方式,表示它是二进制文件.dat
表示它也是一个二进制数据文件。你确定你能用普通的文本编辑器打开它吗?你知道你的sed
命令实际上并没有改变文件,对吗?它将把修改后的数据打印到标准输出,而不是打印回文件。使用sed-i.bak 2d fort.21.dat
就地编辑文件,或使用sed 2d fort.21.dat>fort.21.txt
将其写入新文件。