指定したディレクトリから特定のファイルを削除するシェルスクリプトの作成

指定したディレクトリから特定のファイルを削除するシェルスクリプトの作成

次のような簡単なスクリプトを作成したいと思います。

cd /specified/directory
cd into child directory only if it has a 4 digit name e.g 1234
rm -r all files that begin with letter P
rm -r all files that begin with letter E
exit child directory
check for next directory with 4 digit number
repeat task
End

ベストアンサー1

大量のファイルを操作するためにファイル名拡張を許可すると、環境スペースが消費される可能性があります(特に一部のUNIXシステムでは)。だから私は検索を使用して削除したいファイルを識別します。

どのファイルが削除されるかを確認するには、次の手順を実行します。

find $(find /specified/directory -d -name "[0-9][0-9][0-9][0-9]") -name "[E|P]*" -print 

これを削除するには、-execオプションを使用して拡張できます。

find $(find /specified/directory -d -name "[0-9][0-9][0-9][0-9]") -name "[E|P]*" -exec rm -i {} \;

おすすめ記事