bash - 如何在 Vi 编辑器中删除 CRLF

标签 bash unix vi

我正在使用 vi 编辑器将“E)H@McQfTjWnZr4t7w!z%C*F-JaNdRgU”复制到一个文件中。文件大小应为 32 字节,但实际为 33 字节。我用notepad++打开同一个文件,发现在文本末尾添加了CRLF。

如何在 vi 编辑器中删除 CRLF。

最佳答案

在 vi 中试试这个

:set noendofline binary
:w

这将从文件中删除任何行结尾并为您提供您期望看到的 32 字节文件。

另请注意,您也可以使用这些其他命令来更改 vi 中的行结束类型。

:set ff=dos
:w

或者

:set ff=unix
:w

您也可以从命令行执行此操作以对多个文件执行类似的操作

for file in $files; do
    vi +':w ++ff=unix' +':q' $file
done

关于bash - 如何在 Vi 编辑器中删除 CRLF,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44420157/

相关文章:

Bash 脚本读取 EXIF、重命名 JPG 文件并在文件退出时检查输出 -> 创建 newfile-01.jpg

bash - 如何在 bash 中捕获信号后打印消息并继续?

linux - 如何获取所有文件中出现的单词?但是每个目录的单词数而不是单个数字

vim - 根据文件类型自动硬缩进还是软缩进?

ios - 从我启动的作业中收到错误代码 126

linux - 使用 Shell 脚本内容保存文件

unix - 删除 FASTA 文件中的换行符

linux - 如何检查 SFTP session 是否已成功验证

linux - 行尾处的 Vi 编辑和光标位置?

bash - bash vi shell 模式下的 Tab 自动补全