
명령을 실행하려는 하위 디렉터리가 더 많이 포함된 하위 디렉터리가 포함된 폴더가 있습니다. 아래 코드는 지금까지 작성한 스크립트입니다.
#!/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 {} +
그런 다음 다시 검색한 후 파일을 이동하면 됩니다.