コマンドを実行するサブディレクトリがより多く含まれているサブディレクトリを含むフォルダがあります。以下のコードはこれまでに書いたスクリプトです。
#!/bin/bash
for i in `ls -d ./*/`;
do
cd "$i"
for x in `ls -d ./*/`
cd "$x"
gzip -d *.mol2.gz
mv *.mol2 /path/to/directory
cd ..
done
cd ..
done
echo "Finished"
答え1
私はあなたがこれを求めていると思います:
gunzip */*/*.mol2.gz
mv */*/*.mol2 /path/to/directory
ループを必要とせず、シェルに重い作業を行うようにしてください。
答え2
代わりにこれを使用できますfind
。
find . -name "*.mol12.gz" -exec gzip -d {} +
その後、再検索してファイルを移動します。