Допустим, у нас есть файл, содержащий Ctrl-M (на некоторых платформах \r
):
$ cat input
1,2,3
4,5,6
,7,8,9
10,11,12
Это явно с od
:
$ od -c input
0000000 1 , 2 , 3 \n 4 , 5 , 6 \r \n , 7 ,
0000020 8 , 9 \n 1 0 , 1 1 , 1 2 \n
0000035
Удалите каждый оскорбительный символ и соедините его строку со следующим, запустив
$ perl -pe 's/\cM\cJ?//g' input
1,2,3
4,5,6,7,8,9
10,11,12
или перенаправить на новый файл с помощью
$ perl -pe 's/\cM\cJ?//g' input >updated-input
или перезаписать его на месте (плюс резервную копию в input.bak
) с помощью
$ perl -i.bak -pe 's/\cM\cJ?//g' input
Установка опции \cJ
опционально обрабатывает случай, когда файл заканчивается ctrl-M, но не ctrl-J.