dos2unix:找到二进制符号,跳过二进制文件
dos2unix: Binary symbol found, skipping binary file
我目前遇到一个问题,我的脚本在尝试对文件执行 dos2unix 命令时失败。
这是我在脚本中的内容:
dos2unix -n data/file data/tmp_file
dos2unix: Binary symbol found at line 21107611
dos2unix: Skipping binary file data/input/DATA.txt
mv -f data/tmp_file data/input/DATA.txt
mv: cannot stat ‘data/tmp_file’: No such file or directory
我去那行是问题,这里有一个“^@”。这是什么以及如何使用 dos2unix 命令让我的脚本工作?
{128392938928392838123129381298398129^@
谢谢
^@
是Vim空字节的表示; cp。 :help <Nul>
普通文本文件不包含空字符。二进制文件通常有很多空字符,如果作为一个整体转换它们会损坏;这就是 dos2unix
拒绝转换它的原因。
您有多种选择:
- 该空字符可能是意外插入的或者是垃圾。编辑文件(在 Vim 中)或重新创建它。如果您使用 Vim,您也可以在其中进行转换(通过
:help ++ff
,例如 :w ++ff=unix
)。 dos2unix
等命令行工具仍然用于非交互式调用。
- 空字符属于那里。
dos2unix
命令有一个 -f|--force
选项来强制转换。
我目前遇到一个问题,我的脚本在尝试对文件执行 dos2unix 命令时失败。
这是我在脚本中的内容:
dos2unix -n data/file data/tmp_file
dos2unix: Binary symbol found at line 21107611
dos2unix: Skipping binary file data/input/DATA.txt
mv -f data/tmp_file data/input/DATA.txt
mv: cannot stat ‘data/tmp_file’: No such file or directory
我去那行是问题,这里有一个“^@”。这是什么以及如何使用 dos2unix 命令让我的脚本工作?
{128392938928392838123129381298398129^@
谢谢
^@
是Vim空字节的表示; cp。 :help <Nul>
普通文本文件不包含空字符。二进制文件通常有很多空字符,如果作为一个整体转换它们会损坏;这就是 dos2unix
拒绝转换它的原因。
您有多种选择:
- 该空字符可能是意外插入的或者是垃圾。编辑文件(在 Vim 中)或重新创建它。如果您使用 Vim,您也可以在其中进行转换(通过
:help ++ff
,例如:w ++ff=unix
)。dos2unix
等命令行工具仍然用于非交互式调用。 - 空字符属于那里。
dos2unix
命令有一个-f|--force
选项来强制转换。