dos 줄 끝에서 유닉스 줄 끝으로 파일을 재귀 적으로 변환


11

모든 줄 끝을 DOS에서 UNIX로 변환하는 전체 디렉토리와 하위 디렉토리에서 실행할 수있는 명령을 찾고 있습니다.

파일이 텍스트인지 바이너리인지를 감지 할 수 있어야합니다.

dos2unixmacports를 사용하여 설치 했지만 재귀 옵션이 누락 된 것으로 보입니다.


파일이 텍스트인지 바이너리인지 정의하십시오.
user151019

텍스트 : TAB, CR, LF를 제외하고 32 미만의 ASCII는 없습니다.
Max Ried

답변:


22

시도하십시오 find . -name "*" -type f -exec dos2unix {} \;.


dos2unix시스템에서 사용할 수없는 경우 다음 스크립트를 사용하여 저장 dos2unix하고 실행 파일로 설정할 수 있습니다 .

#!/bin/sh

perl -pi -e 's/\r\n/\n/;' $*

Git 저장소의 루트에서이 명령을 실행하지 마십시오. 그렇지 않으면 저장소를 망칠 것입니다!
Nick

또한, 나는 perl -pi -e 's/\r\n|\n|\r/\n/;' $*( source )를 사용하여 더 나은 행운을
Nick

1

한 줄의 쉘 코드가 있습니다. find . -name "*" -type f -exec perl -pi -e 's/\r\n/\n/;' {} \;


한 줄의 답변은 권장하지 않습니다. 더 자세한 내용을 추가하거나 의견을 말하십시오.
Max Ried

광고 한대로 작동합니다! 무엇을 추가해야합니까? ;-)
Taiko

2
흠 ... 그래도 일부 png 파일을 망쳤습니다. 조심해서
Taiko
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.