dos2unix를 사용하지 않고 Windows 스타일 EOL에서 Unix 스타일 EOL로 파일을 변환합니다.

dos2unix를 사용하지 않고 Windows 스타일 EOL에서 Unix 스타일 EOL로 파일을 변환합니다.

제가 사용하고 있는 이전 서버에는 이 기능이 없습니다. dos2unixWindows 스타일 EOL(줄 끝 끝)이 포함된 파일을 Unix 스타일 EOL로 변환하고 싶습니다. 안타깝게도 저는 관리자가 아니기 때문에 설치할 수 없습니다 dos2unix. 이 tr방법이 효과가 있는 유일한 방법인 것 같습니다.

cp script _p4 && tr -d '\r' < _p4 > script && rm _p4

이 작업을 수행하는 더 쉬운 방법이 있나요?

답변1

GNU sed가 있다면 다음과 같이 할 수 있습니다:

sed -i 's/\x0D$//' script

여기서 "x0D"는 \r의 ASCII 코드입니다.

답변2

언제든지 스크립트를 작성할 수 있습니다.

#!/bin/sh
for name in "$@"
do
    cp "$name" "$name"~ && tr -d '\r' < "$name"~ > "$name" && rm "$name"~
done

이름을 지정하세요 dos2unix. 컴파일러가 필요하지 않습니다.

답변3

이 명령은 dos2unix를 설치하지 않고 EOL 문자를 변환하는 데 사용할 수 있습니다.

sed -i 's/.$//' script

관련 정보