Bash - サブディレクトリから親ディレクトリまでのmvディレクトリ

Bash - サブディレクトリから親ディレクトリまでのmvディレクトリ

私はディレクトリを持っています~/Desktop/Projects。 40個のサブディレクトリがありますAAA, BBB, CCC, etc。各ディレクトリには4つの同じディレクトリがありますdog, fish, bird, snake。各ファイルには2000個のファイルがあります。個別に名前付きファイルをProjects/AAA/dog, fish, bird, snakeからに移動しAAABBBそのBBB/dog, fish, bird, snakeファイルを40個のサブディレクトリすべてに移動し続けたいと思いますBBB

binパス内のフォルダにシェルスクリプトを保存する必要があることを読みました。私はこれに慣れておらず、指示がなく、オンラインで見つけただけです。ディレクトリを作成しましたbin- 。私は学生なので~/Desktop/bin変更できません。.bashrc(そしてはい、そうかもしれません。できるしかし、そうではありません。 )私が試したコードのバージョンは次のとおりです。

#!/bin/bash 
cd ~/Desktop/Projects

for d in ~Desktop/Projects; do
    cd dog ;
    mv * .. ;
done

他の3つのサブディレクトリを追加しましたが、今はコメントアウトしました。実行すると、すべてのディレクトリAAA, BBB, CCC, etc~/Desktop..

私は本質的に、「AAA, BBB, CCC, etccd()のすべてのディレクトリに含まれるディレクトリに内容をそのディレクトリの対応する親ディレクトリに移動します」と言っていると思います。これが私が望むものです。Projectsdogdog

for d in ~Desktop/Projects/*/ ; doこの場合、見つからないディレクトリも試してみましたdog

私も試してみましたが、同じ問題があってfor d in */ ; do見つかりませんでした。for d in /* ; dofor dir in */ ; dodog

ありがとうございます。

ベストアンサー1

おすすめ記事