ディレクトリ構造は次のとおりです。Bashのあるディレクトリから別のディレクトリへのディレクトリ構造のコピー
├── input
│ ├── config.ac
│ ├── dir1
│ │ ├── image2.png
│ │ └── image3.jpg
│ ├── dir2
│ └── image1.png
├── main.sh
└── output
基本的に、私は、次の生成したい次./main.sh入出力を実行しようとしています:
├── input
│ ├── config.ac
│ ├── dir1
│ │ ├── image2.png
│ │ └── image3.jpg
│ ├── dir2
│ └── image1.png
├── main.sh
└── output
├── dir1
│ └── image2.png
├── dir2
└── image1.png
など-exec見つけるなど、いくつかの事をしようとした後に、私が行ってきましたそれを一歩一歩進みます。私は出力の中に入力の内部ディレクトリ構造をコピーしようとしています。同時に、.pngファイルだけをコピーし、それ以外は何もコピーしません。ここで
for DIR in $1/; do
mkdir $2/$DIR
cp $1/$DIR*.png $1/$DIR $2/$DIR
done
は(ループがソースディレクトリ($ 1)内のすべてのディレクトリ構造を通過しますのために、それはその後、先のディレクトリに正確に同じディレクトリを作成します、私のロジックである:ここでは は、私が試してみましたものです$ 2)。今、現在のディレクトリにある.pngファイルを探し、それを宛先に作成されたものとまったく同じディレクトリにコピーします。 後でforループでファイルを変換する予定です。
これはまったく動作していないようです。私は、次のエラーを取得:
cp: cannot stat 'input/input/*.png': No such file or directory
cp: cannot stat 'input/input/': No such file or directory
「forループでの処理を計画しています」というメモに気づいただけです。たとえば、 'find output -name '* .png'のようにします。パラレル "変換jpg {}> {。}。jpg" '。 – liborm
私は、後で別のループでやってみようと思います。 – FShiwani
'output/dir2'を空にしてもよろしいですか? –