전체 디렉토리에서 dos2unix를 어떻게 실행할 수 있습니까?
를 사용하여 전체 디렉토리를 변환해야합니다 dos2unix
. 이 작업을 수행하는 방법을 알 수 없습니다.
find . -type f -print0 | xargs -0 dos2unix
재귀 적으로 현재 디렉토리 내의 모든 파일을 찾고이 파일을 호출합니다. dos2unix 명령
큰 디렉토리 인 경우 여러 프로세서로 실행하는 것이 좋습니다.
find . -type f -print0 | xargs -0 -n 1 -P 4 dos2unix
한 번에 1 개의 파일을 전달하고 4 개의 프로세서를 사용합니다.
dos2unix가 만족스럽지 않으면 서 간단한 유틸리티를 공개했습니다. 속도와 예측 가능성의 몇 가지 장점 외에도 구문은 약간 더 간단합니다.
endlines unix *
그리고 하위 디렉토리로 이동하려면 (숨겨진 디렉토리 및 텍스트가 아닌 파일을 생략하십시오) :
endlines unix -r .
endlines
https://github.com/mdolidon/endlines에서 사용할 수 있습니다
숨겨져있는 파일과 폴더 .git.
를 사용하지 않는 것이 가장 좋습니다. 사용하는 대신 버전이 최신이거나 사용중인 경우 다음 과 같이 find
하십시오 .bash
zsh
dos2unix **
Bash의 경우 다음이 필요합니다.
shopt -s globstar
.... 그러나 이것은 당신이 솔직히 말해서 유용하게 사용할 수있는 충분한 기능입니다 .bashrc
.
당신이 경우 하지 않는 숨김 파일 및 폴더를 제외하려면,하지만 여전히 건드리고 싶지 않아 find
(내가 당신을 비난하지 않을), 당신은 일치하는 두 번째 재귀 글로브 인수 제공 할 수있는 유일한 숨겨진 항목 :
dos2unix ** **/.*
두 경우 모두 glob가 디렉토리를 포함하도록 확장되므로 다음과 같은 경고가 나타날 수 있습니다. Skipping <dir>, not a regular file.
모든 Solaris 사용자의 경우 (오전 5.10을 사용중인 경우, 다른 유닉스 시스템뿐만 아니라 최신 버전에도 적용될 수 있음) :
dos2unix는 기본적으로 파일을 덮어 쓰지 않고, 업데이트 된 버전을 stdout으로 인쇄하기 때문에 소스와 대상을 같은 이름으로 두 번 지정해야합니다.
find . -type f -exec dos2unix {} {} \;
for FILE in /var/www/html/files/*
do
/usr/bin/dos2unix FILE
done
일반적인 유스 케이스 는 Git 저장소에 커밋 된 모든 파일의 줄 끝 을 표준화 하는 것으로 보입니다 .
git ls-files | xargs dos2unix
특정 파일 (예를 들어 있다는 사실을 숙지 *.sln
, *.bat
) 등 있습니다 만 의 Windows 운영 체제에서 사용한다 계속CRLF
종료를 :
git ls-files '*.sln' '*.bat' | xargs unix2dos
필요한 경우 .gitattributes
나는 똑같은 문제를 겪었고 여기에서 해결 한 게시물 덕분에. 나는 약 100 개의 파일이 있다는 것을 알고 있었고 * .js 파일에 대해서만 파일을 실행해야했습니다.find . -type f -name '*.js' -print0 | xargs -0 dos2unix
도와 주셔서 감사합니다.
하위 디렉토리가없는 경우 다음을 수행 할 수도 있습니다.
ls | xargs -I {} dos2unix "{}"
참고 URL : https://stackoverflow.com/questions/11929461/how-can-i-run-dos2unix-on-an-entire-directory
'IT' 카테고리의 다른 글
JUnit 테스트 주석으로 예외 메시지를 어떻게 확인합니까? (0) | 2020.03.22 |
---|---|
React에서 부모의 상태를 업데이트하는 방법은 무엇입니까? (0) | 2020.03.22 |
SQLite 데이터베이스 테이블에서 열의 이름을 바꾸려면 어떻게합니까? (0) | 2020.03.22 |
SqLite에서 Top 5 레코드를 얻는 방법? (0) | 2020.03.22 |
매일 오전 2시 30 분에 크론 작업 실행 (0) | 2020.03.22 |