고정 길이 파일의 소수의 레코드가 두 개의 레코드로 분할됩니다. 파일은 다음과 유사합니다. 세 번째 레코드는 두 개의 레코드로 분할됩니다. 끝에서 '\r'을 제거하고 네 번째 줄을 위로 이동하여 세 번째 줄과 병합하려면 어떻게 해야 합니까?
샘플 파일:
Firstrow\n
Secondrow\n
Third\r\n
Row\n
Fourthrow\n
Fifthrow\n
원하는 최종 결과:
Firstrow\n
secondrow\n
Thirdrow\n
Fourthrow\n
Fifthrow\n
답변1
노력하다
sed '/\r/{N; s/\r\n//}' file
답변2
awk를 사용하면 라인을 기반으로 출력 레코드 구분 기호를 사용할 수 있습니다.
awk '{ORS = sub(/\r$/,"") ? "" : RS};1' file > temp && mv temp file
또는 Perl을 사용하여 CRLF 쌍을 제거하십시오.
$ perl -pi -e 's/\r\n//' file