깊이 우선으로 재귀적으로 파일 및 폴더 이름 바꾸기

깊이 우선으로 재귀적으로 파일 및 폴더 이름 바꾸기

이 사이트의 다른 답변에서 반복적으로 파일 이름을 바꾸기 위해 다음 조각을 수집했습니다.

find . -iname "*oldName*" -exec rename oldName newName '{}' \;

이는 파일로만 작업하는 경우 유용합니다. 그러나 디렉터리 구조에 oldName변경하려는 콘텐츠 도 포함된 디렉터리가 있는 경우 먼저 디렉터리 이름을 바꾼 다음 이름을 바꿀 파일을 찾을 수 없기 때문에 이 작업은 실패합니다.

명령을 두 번 실행하면 이 문제를 해결할 수 있지만 이는 이상적이지 않습니다.

깊이 우선 방식으로 이 작업을 수행하여 이 문제를 완전히 방지하도록 명령을 수정하는 방법이 있습니까?

답변1

find-depth필요한 작업을 정확하게 수행하는 옵션이 있습니다 .

find . -depth -iname "*oldName*" -exec rename oldName newName '{}' \;

관련 정보