[unix] 모든 하위 디렉토리에서 지정된 이름의 모든 파일을 어떻게 삭제합니까?
내 홈 디렉토리의 모든 하위 디렉토리에서 지정된 이름의 모든 파일을 삭제하고 싶습니다.
나는 시도했다 :
rm -r file
내 홈 디렉토리에 있지만 해당 파일이 해당 디렉토리에 없기 때문에 작동하지 않았습니다.
답변
find . -name "filename" -delete
답변
@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>
항상 그렇듯이 실행하기 전에 스크립트의 정확성을 확인하고 문제가 발생할 경우 항상 백업을 준비하십시오.