如何在Vi编辑器中删除CRLF

Adi*_*shi 1 unix vi bash

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

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

Jas*_*ski 5

在vi中尝试

:set noendofline binary
:w
Run Code Online (Sandbox Code Playgroud)

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

还要注意,您也可以使用这些其他命令在vi中更改行尾类型。

:set ff=dos
:w
Run Code Online (Sandbox Code Playgroud)

要么

:set ff=unix
:w
Run Code Online (Sandbox Code Playgroud)

您也可以从命令行执行此操作,以对多个文件执行以下操作

for file in $files; do
    vi +':w ++ff=unix' +':q' $file
done
Run Code Online (Sandbox Code Playgroud)