csvファイルBashスクリプトを除くすべてのエントリを削除する

csvファイルBashスクリプトを除くすべてのエントリを削除する

csvファイルを除くフォルダ内のすべてのアイテムを削除したいです。

Bashスクリプトを使用しようとしていますが、次のエラーが発生します。

syntax error near unexpected token `('

これは私のスクリプトです。

 PATH=/tmp/

 run_spark_local
 rm -v !($PATH*.csv)

 cp -r $PATH /data/logs/

私も試しました

rm -v !("$PATH*.csv")

ベストアンサー1

$PATH を設定しないでください。環境変数です。

BASHの場合外部グローバル変数シェルオプションを有効にすると(多くのLinuxディストリビューションのデフォルト値)、次のようになります。

rm !(*.csv)

フォルダパスを使用すると、次のようになります。

rm yourfolder/!(*.csv)

あなたの環境でextglobが有効になっていないと思われる場合は、次のようにします。

shopt -s extglob

おすすめ記事