我有一个装满文件的文件夹,每个文件都有数百行。其中许多文件偶尔会出现换行符中断:当我在 vim 中打开它们时,许多文件都在换行符所在的位置散布了 ^M^L。
在 vim 中,我可以运行%s/^M^L/\r/g
这将纠正它们。但是,我不想对每个文件都这样做。
所以我试图通过 sed 在 bash 脚本中执行此操作,但没有奏效。我都试过:
sed 's/^M^L/\r/g' filename
和
sed 's/^M^L/\
/g' filename
Run Code Online (Sandbox Code Playgroud)
注意:每次^M^L出现在这里,我都做了ctrl-v ctrl-m,而不是shift-6 (^) M。
我究竟做错了什么?更重要的是,我需要做什么才能让它发挥作用?
您应该能够执行以下操作:
sed 's/\x0C//g`
Run Code Online (Sandbox Code Playgroud)
或者
sed 's/\x0D\x0C/\x0D/g'
Run Code Online (Sandbox Code Playgroud)
或者如果你使用 GNUsed
sed 's/\r\f/\r/'
Run Code Online (Sandbox Code Playgroud)