sed를 사용하여 깨진 개행 수정

sed를 사용하여 깨진 개행 수정

파일로 가득 찬 폴더가 있는데 각 파일에는 수백 줄이 있습니다. 이러한 파일 중 상당수에는 가끔 줄 바꿈이 있습니다. vim에서 파일을 열면 많은 파일에 개행 문자가 있어야 할 위치에 ^M^L이 흩어져 있습니다.

vim에서는 %s/^M^L/\r/g이것을 실행하여 문제를 수정할 수 있습니다. 그러나 모든 파일에 대해 이 작업을 수행하고 싶지는 않습니다.

그래서 나는 sed를 통해 bash 스크립트에서 이 작업을 시도했지만 성공하지 못했습니다. 나는 두 가지를 모두 시도했습니다.

sed 's/^M^L/\r/g' filename그리고

sed 's/^M^L/\
/g' filename

참고: 저는 Shift-6(^) M뿐만 아니라 ^M^L이 여기에 나타날 때마다 ctrl-v ctrl-m을 수행했습니다.

내가 뭘 잘못했나요? 더 중요한 것은, 그것이 작동하도록 하려면 어떻게 해야 합니까?

답변1

다음을 수행할 수 있어야 합니다.

sed 's/\x0C//g`

또는

sed 's/\x0D\x0C/\x0D/g'

또는 GNU를 사용하는 경우sed

sed 's/\r\f/\r/'

관련 정보