내 홈 디렉터리의 모든 하위 디렉터리에서 특정 이름을 가진 모든 파일을 삭제하고 싶습니다.
나는 시도했다:
rm -r file
내 홈 디렉토리에 있지만 해당 디렉토리에 파일이 없기 때문에 작동하지 않습니다.
답변1
find . -name "filename" -delete
답변2
@tante의 답변을 자세히 설명하면 다음 파일을 삭제하기 전에 올바른 파일 목록을 사용하고 있는지 확인할 수 있습니다.
find <source_dir> -name <filename> -print
수표에 유효한 목록이 표시되면
find <source_dir> -name <filename> -delete
임시 저장 디렉터리를 사용하여 여러 디렉터리에서 이 작업을 수행하려는 경우 다른 옵션이 있습니다:
mkdir <dest_dir>
for i in <list_of_directories>
do
find "$i" -name <filename> -exec /bin/mv {} <dest_dir>
done
# check dest_dir
ls dest_dir
rm -rf <dest_dir>
언제나 그렇듯이 스크립트를 실행하기 전에 스크립트의 정확성을 확인하고 문제가 발생할 경우를 대비해 항상 백업을 준비하십시오.