모든 하위 디렉터리 내용을 한 수준 위로 이동

모든 하위 디렉터리 내용을 한 수준 위로 이동

내 최상위 디렉터리에는 여러 하위 디렉터리가 포함되어 있습니다.

  • af
  • ar
  • ca
  • cs
  • da
  • de
  • el
  • en
  • ...(더있다)

각 디렉토리는 정확히 동일한 구조를 가지고 있습니다. 여기에는 두 개의 디렉터리가 포함되어 있습니다.

  • v2.3.0
  • v3.0.0

*/v2.3.0/*.php모든 파일을 디렉터리 밖으로 이동 해야 하므로 다음부터 시작합니다.

  • af
    • v2.3.0
      • file1.php
      • file2.php
    • v3.0.0

이와 관련하여:

  • af
    • file1.php
    • file2.php

답변1

가장 간단한 해결책은 다음과 같습니다.

for dir in *; do mv "$dir"/v2.3.0/* "$dir"/; done

파일을 이동하려면 다음만 php사용하십시오.

for dir in *; do mv "$dir"/v2.3.0/*php "$dir"/; done

최상위 수준(디렉터리뿐만 아니라)에 파일이 있는 경우 오류 메시지를 방지하려면 다음을 수행하세요.

for dir in *; do [ -d "$dir" ] && mv "$dir"/v2.3.0/* "$dir"/; done

관련 정보