이 명령은 제공된 이름과 일치하는 모든 파일을 나열합니다.
find . -iname .DS_Store
그런데 해당 매개변수를 사용하면 -delete
삭제된 파일 목록이 표시되지 않습니다. 방금 삭제되었습니다.
| xarg ..
또는 로 복잡하게 만들지 않는 것이 좋습니다 -exec rm {}
. 삭제된 파일을 보는 데 사용할 수 있는 매직 플래그가 있습니까 find . -iname .DS_Store -delete
?
print0
추신: 플래그를 제거하지 않고도 명령을 실행할 수 있다는 것을 알고 있지만 작업을 수행할 수 있는 유사한(인쇄하기에는 보기 흉하지만) 것을 찾고 있습니다 .
답변1
-print
명령 끝에 다음을 추가하면 됩니다.
find . -name .DS_Store -delete -print
찾은 파일의 경로 이름이 출력됩니다.
이것이 macOS 시스템(또는 BSD 시스템)에 있는 경우 find
기본 구현을 사용하여 -delete
조건자는언제나반품진짜, 이는 규칙이 -print
항상 유효함을 의미합니다. 이는 위의 명령이 성공적으로 제거되었는지 여부에 관계없이 발견된 모든 경로 이름을 인쇄한다는 의미입니다. -delete
GNU의 조건자가 find
반환 됩니다.잘못된이름을 삭제할 수 없는 경우.
macOS 또는 BSD 시스템을 사용하고 있고 이것이 중요한 경우 다음을 사용하십시오.
find . ! -type d -name .DS_Store -exec rm {} \; -print
대신에. 여기서 rm
지정된 이름을 삭제하지 못하면 0이 아닌 종료 상태가 반환되며 이는 경로 -print
이름이 적용되지 않음을 의미합니다. 디렉터리가 아닌 파일만 삭제되기 ! -type d
때문에 rm
(사용하지 않을 때 ) 추가했습니다 rm -r
.