filename=file.bin
extension=$(echo ${filename}|awk -F\. '{print $2}')
if [ ${extension} == "bin" ]; then
rm *.extenstion
fi
フォルダ内の同じ拡張子を持つすべてのファイルを削除するにはどうすればよいですか?
拡張子を自分で抽出する必要はありません。これがグロビングの目的です。単に行う:
rm *.bin
または再帰的にfind ./ -name "*.bin" -exec rm -f {} \;
グロビングとは別に、これは で実行可能find
です。
find -type f -name "*.bin" -exec rm {} \;
またはより効率的に、新しいバージョンのfind
:
find -type f -name "*.bin" -exec rm {} +
これはと同等です
find -type f -name "*.bin" | xargs rm
注: デフォルトでfind
は、再帰的に実行されます。