使用sed命令将vim命令应用于多个文件

时间:2018-11-23 19:05:38

标签: bash vim sed

我在vim编辑器中有带有^M字符的文件。要根据该帖子删除该字符,我正在使用:%s/\r/\r/ghttps://stackoverflow.com/a/12614243/9759150(问题:如何在vim中打开的文件中将^ M换行符转换为“普通”换行符?),就可以了!

但是,逐个文件地处理文件是一件繁琐的工作,因此我想使用一个命令,因此我想到了sed命令。

我尝试了以下方法:

sed -i '%s/\r/\r/g' *

但是我得到了sed: -e expression #1, char 1: unknown command:%'`

然后,我尝试了以下方法: sed -i 's/\r/\r/g' *并没有任何错误,但是当我用vim打开文件时,我看到了^M个字符。

编辑示例:

“可能重复的问题”(Remove carriage return in Unix)的相关帖子删除了\r,但我需要保留它。我唯一需要更改的是^M一个的\r字符。

原始文件为: enter image description here

当我打开vim并使用:%s/\r/\r/g时,结果是所需的: enter image description here

但是使用sed -i 's/\r/\r/g' *命令没有效果,并且结果类似于第一张图像。 使用https://stackoverflow.com/a/41461947/9759150中的sed -i 's/\r//g' *,结果为: enter image description here 可以看出它确实删除了^M字符,但是我无法获得与vim中相同的结果。

0 个答案:

没有答案