이 사이트의 다른 답변에서 반복적으로 파일 이름을 바꾸기 위해 다음 조각을 수집했습니다.
find . -iname "*oldName*" -exec rename oldName newName '{}' \;
이는 파일로만 작업하는 경우 유용합니다. 그러나 디렉터리 구조에 oldName
변경하려는 콘텐츠 도 포함된 디렉터리가 있는 경우 먼저 디렉터리 이름을 바꾼 다음 이름을 바꿀 파일을 찾을 수 없기 때문에 이 작업은 실패합니다.
명령을 두 번 실행하면 이 문제를 해결할 수 있지만 이는 이상적이지 않습니다.
깊이 우선 방식으로 이 작업을 수행하여 이 문제를 완전히 방지하도록 명령을 수정하는 방법이 있습니까?
답변1
find
-depth
필요한 작업을 정확하게 수행하는 옵션이 있습니다 .
find . -depth -iname "*oldName*" -exec rename oldName newName '{}' \;