한 디렉터리 내에서 여러 디렉터리를 재귀적으로 이동

한 디렉터리 내에서 여러 디렉터리를 재귀적으로 이동

여러 디렉터리와 하위 디렉터리를 포함하는 디렉터리가 있습니다. 그 중 일부를 동시에 하나로 옮기고 싶습니다. (하나의 명령을 사용하여)

Main Directory
     Sub1
        Subsub1
        Subsub2
     Sub2
        Subsub1
        Subsub2
     Sub3
        Subsub1
        Subsub2
     Sub4
        Subsub1
        Subsub2
     Sub5
        Subsub1
        Subsub2
     Test
 -----------------------

하위 디렉터리를 포함하여 Sub1, Sub2, Sub3을 Test 폴더로 이동하고 싶으므로 결국 다음과 같은 결과가 발생합니다.

Main Directory
     Sub4
        Subsub1
        Subsub2
     Sub5
        Subsub1
        Subsub2
     Test
         Sub1
             Subsub1
             Subsub2
         Sub2
             Subsub1
             Subsub2
         Sub3
             Subsub1
             Subsub2
 -----------------------

답변1

-t명령을 통해 플래그를 사용하여 이 작업을 수행 할 수도 있습니다 mv.

구문은 다음과 같습니다.

mv -t <destination> <src1> <src2> .... <srnN>

다른 방법으로도 이 작업을 수행할 수 있습니다.

mv file1 file2 file3 -t DESTINATION

귀하의 경우에는 다음과 같습니다:

mv -t Test/ Sub1/ Sub2/ Sub3/

원천:데브옵스 큐브/우분투에 물어보세요

답변2

"Main Directory"/Test다음이 있다고 가정합니다 .

mv "Main Directory"/Sub[1-3] "Main Directory"/Test

여기서 일어나는 유일한 일은 디렉토리를 Test디렉토리로 옮기는 것입니다. Sub1, 및 Sub2의 파일은 Sub3동일한 디렉터리에서 계속 사용할 수 있지만 이제는 새 경로 "Main Directory"/Test/Sub1등에서 사용할 수 있습니다.


bash쉘로 사용된다고 가정하여 아래 주석의 정보를 업데이트했습니다 .

mkdir -p "Main Directory"/Test
mv "Main Directory"/episode_{0000..0049} "Main Directory"/Test

교정 확장은 ... "Main Directory"/episode_{0000..0049}로 확장됩니다 .Main Directory/episode_0000 Main Directory/episode_0001Main Directory/episode_0049

답변3

중괄호를 사용하여 지정할 수 있습니다.

mv {Sub1, Sub2, Sub3} Test/

관련 정보