定義されていない他のすべてのディレクトリを削除します。

定義されていない他のすべてのディレクトリを削除します。

特定のディレクトリのリストから外部ディレクトリを削除するには、クリーンアップスクリプトを作成する必要があります。

私の考えは、次のようにすることです。

 #!/bin/ksh find /data/${USER}/SAS/ -type d ! -name 'SE' | find /data/${USER}/SAS/ -type d ! -name 'Rejet' | find /data/${USER}/SAS/ -type d ! -name 'Acq' | find /data/${USER}/SAS/ -type d ! -name 'Archiv' | find /data/${USER}/SAS/ -type d ! -name 'Cloture' | find /data/${USER}/SAS/ -type d ! -name 'Emis' | find /data/${USER}/SAS/ -type d ! -name 'Ident' | find /data/${USER}/SAS/ -type d ! -name 'Irr*' | find /data/${USER}/SAS/ -type d ! -name 'Recep*'

それなら-type f -exec rm {} \;本当に何をすべきかわかりません。

ベストアンサー1

/data/${USER}/SAS/事前定義/指定されたリスト内のフォルダを除くパス内のすべてのフォルダを削除するには、次の最適化find方法を使用します。

find /data/${USER}/SAS/ -type d -regextype posix-egrep \
    ! -regex ".*/(SE|Rejet|Acq|Archiv|Cloture|Emis|Ident|Irr.*|Recep.*)" \
    ! -name "SAS" -exec rm -rf {} \;

おすすめ記事