私はディレクトリを持っています~/Desktop/Projects
。 40個のサブディレクトリがありますAAA, BBB, CCC, etc
。各ディレクトリには4つの同じディレクトリがありますdog, fish, bird, snake
。各ファイルには2000個のファイルがあります。個別に名前付きファイルをProjects/AAA/dog, fish, bird, snake
からに移動しAAA
、BBB
その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, etc
cd()のすべてのディレクトリに含まれるディレクトリに内容をそのディレクトリの対応する親ディレクトリに移動します」と言っていると思います。これが私が望むものです。Projects
dog
dog
for d in ~Desktop/Projects/*/ ; do
この場合、見つからないディレクトリも試してみましたdog
。
私も試してみましたが、同じ問題があってfor d in */ ; do
見つかりませんでした。for d in /* ; do
for dir in */ ; do
dog
ありがとうございます。