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

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

지정된 경로의 모든 하위 폴더 이름을 바꿔야 합니다. 예를 들어 다음과 같은 디렉토리 구조가 있습니다.

project/
   /x
      /something
          /somethingElse
              /x
          /x.someext
   /notXButTheresXInASubfolder
          /something
              /x

다음과 같이 변경해야 합니다.

project/
   /y
      /something
          /somethingElse
              /y
          /y.someext
   /thisContainsXIntheNameButIsNotx
          /something
              /y

이상적으로는 bash 스크립트를 사용하여 이 작업을 수행하고 싶지만 어떻게 해야 할지 모르겠습니다...

답변1

DIRS=$(find /path/to/project -type d -name "x" | sort -r)

while read R; do
  test -z "$R" && continue;
  B=$(dirname "$R")
  mv "$R" "$B/y"
done < <(echo -en "$DIRS")

관련 정보