ディレクトリの内容を静的に名前付きサブディレクトリに移動する

ディレクトリの内容を静的に名前付きサブディレクトリに移動する

私のメディアディレクトリ構造は次のとおりです。

~ $ tree baz
baz
├── Ajin [Season 1]
│   ├── Ajin Demi-Human - 01 - A Topic That Has Nothing to Do with Us.mkv
│   ├── Ajin Demi-Human - 02 - Why Is This Happening to Me I Didn`t Do Anything Wrong!.mkv
...snip...
├── Btooom!
│   ├── Btooom! - 01 - Start.mkv
│   ├── Btooom! - 02 - The Bloodstained High School Girl.mkv
...snip...
└── Claymore [Dual Audio]
    ├── checksums.md5
    ├── Claymore - 01 - Great Sword.mkv
    ├── Claymore - 02 - The Black Card.mkv
    ├── Claymore - 03 - The Darkness in Paradise.mkv
...snip...

3 directories, 53 files

ディレクトリを循環し、baz各サブディレクトリに対して「Season 01」というサブサブディレクトリを作成し、すべてのファイル(およびすべてのディレクトリ)を新しく作成したサブサブディレクトリ「Season 01」に入れる必要があります。

たとえば、上記は次のとおりです。

baz
├── Ajin [Season 1]
│   ├── Season 01
│       ├── Ajin Demi-Human - 01 - A Topic That Has Nothing to Do with Us.mkv
│       ├── Ajin Demi-Human - 02 - Why Is This Happening to Me I Didn`t Do Anything Wrong!.mkv
...snip...
etc

これを実行しようとしていますが、find-execコマンドを設定して「Season 01」ディレクトリを作成し、そのディレクトリの内容を新しいディレクトリに移動する方法がわかりません。

ありがとう

ベストアンサー1

必要なのは単純なループだけです。

cur=$(pwd)
for i in baz/*
do
    cd "$i"
    mkdir season1
    mv *.mkv season1
    cd "$cur"
done

おすすめ記事