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