1つのディレクトリ内で複数のディレクトリを再帰的に移動する

1つのディレクトリ内で複数のディレクトリを再帰的に移動する

複数のディレクトリとサブディレクトリを含むディレクトリがあります。そのうちのいくつかを同時に一つに移したいです。 (1つのコマンドを使用して)

はい

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/

源泉:デブオプスキューブ/Ubuntuに尋ねる

答え2

"Main Directory"/Test以下があるとします。

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

ここで起こる唯一のことは、ディレクトリをTestディレクトリに移動することです。Sub1Sub2およびのファイルは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/

関連情報