サブディレクトリに cds するディレクトリでスクリプトを実行し、スクリプトがそのサブディレクトリに cds してからコマンドを実行するにはどうすればよいですか。

サブディレクトリに cds するディレクトリでスクリプトを実行し、スクリプトがそのサブディレクトリに cds してからコマンドを実行するにはどうすればよいですか。

コマンドを実行するサブディレクトリがより多く含まれているサブディレクトリを含むフォルダがあります。以下のコードはこれまでに書いたスクリプトです。

#!/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

ループを必要とせず、シェルに重い作業を行うようにしてください。

おすすめ記事