VI 매크로를 Linux에 해당하는 매크로로 대체

VI 매크로를 Linux에 해당하는 매크로로 대체

내 파일이 Linux 서버에 도달하고 ^MVI에 표시되면 문자와 파일 형식 = unix가 포함되어 있습니다.(ff=unix)

1~4행을 9~10행으로 변경하고 싶습니다. 여기에 이미지 설명을 입력하세요.

내 vi 매크로가 내 문제를 해결했습니다. /\r/\rxJ

을 찾아서 삭제한 ^M다음 해당 행을 이전 행에 연결합니다.

sed, awk 또는 일부 Unix 유틸리티에서 이 작업을 어떻게 수행할 수 있나요?

답변1

다음 중 하나를 시도해 보십시오.

awk -vORS= '{print sub(/\r$/,"") ? $0" " : $0"\n"}' < infile > outfile

awk 'ORS = sub(/\r$/,"") ? " " : "\n"' < infile > outfile

perl -pe 's/\r\n/ /' < infile > outfile

또는 그 자리에서:

perl -pe 's/\r\n/ /' -i file

관련 정보