SVN 파일을 재귀적으로 삭제

SVN 파일을 재귀적으로 삭제

나는 아직도 bash 쉘을 배우고 있습니다.

특정 폴더의 하위 디렉터리에 있는 svn 파일을 반복적으로 찾아 삭제하고 싶습니다. 복제가 아닌 체크아웃을 하는 실수를 해서 엉망진창을 정리하려고 합니다.

나는 이것을 시도했지만 발견된 모든 파일의 출력만 얻습니다.

rm | find -name ".svn"

이것을 실행하면 출력이 나오지 않고 파일이 여전히 거기에 있습니다. find . -executable -o ! -regex '.*\.svn' -exec rm -i {} \+

답변1

더 간단한 방법은출구확인하는 대신 개정판을 원합니다. bash 쉘을 사용해 보십시오 svn help export.

find호출된 모든 하위 디렉터리를 반복하고 삭제하는 데 실제로 사용하려면 .svn다음을 수행할 수 있습니다.

find /path/to/search -type d -iname .svn -print0 | xargs -0 rm

편집하다

  • -type d#디렉터리만 찾기
  • -iname .svn #대소문자를 구분하지 않는 일치, 필요하지 않을 수도 있음
  • -print0#전체 파일 이름을 인쇄하고 그 뒤에 개행 문자 대신 널 문자가 옵니다. 공백이나 기타 공백이 포함된 파일 이름을 올바르게 전달할 수 있습니다.xargs -0

답변2

shopt -s globstar
rm -r **/.svn

답변3

find대부분의 버전에는 삭제 작업이 있습니다 .

$ find /path/in/question -type d -name .svn -delete

꼭 삭제하지 않고 실행하여 결과를 먼저 확인해보세요!

관련 정보