bash 명령을 사용하여 '* .tar.gz'확장명을 가진 모든 파일을 제거하려고합니다. 다음을 시도했지만 작동하지 않았습니다.bash를 사용하여 특정 확장명을 가진 모든 파일 제거
find . -iname '*.tar.gz' | rm
이 경우 어떤 명령을 사용해야합니까? 또한 위의 명령이 작동하지 않는 이유를 말씀해 주시겠습니까?
bash 명령을 사용하여 '* .tar.gz'확장명을 가진 모든 파일을 제거하려고합니다. 다음을 시도했지만 작동하지 않았습니다.bash를 사용하여 특정 확장명을 가진 모든 파일 제거
find . -iname '*.tar.gz' | rm
이 경우 어떤 명령을 사용해야합니까? 또한 위의 명령이 작동하지 않는 이유를 말씀해 주시겠습니까?
이 find
출력의 출력에 파이프 rm
을하지 마십시오, 사용 xargs
또는 find -exec
:
find . -iname '*.tar.gz' -exec rm {} +
OR :
find . -iname '*.tar.gz' -print0 | xargs -0 -I {} rm {}
find
자체가 그래서 일부 버전에서 삭제할 수 있습니다
find . -iname '*.tar.gz' -delete
이 스위치가 없으면 anubhava의 솔루션을 사용하십시오.
찾기 또한 '-delete' 플래그를 가지고 있습니다 :'find. -iname '* .tar.gz'-delete' – Jost
@Jost'-delete'는 POSIX에 의해 지정되지 않습니다. –
'-delete'는 POSIX에 정의되어 있지 않지만 BSD'find'가 지원합니다. – chepner