次のようなファイルでいっぱいのディレクトリがあります。
1000.csv
1001.csv
aaa.csv
aac.csv
aaa.csv や aac.csv などのファイルを削除したい (基本的に [文字].csv を含むファイルはすべて削除しますが、[数字].csv を含むファイルは保持します)
これをbashで行う方法はありますか?
次のようなファイルでいっぱいのディレクトリがあります。
1000.csv
1001.csv
aaa.csv
aac.csv
aaa.csv や aac.csv などのファイルを削除したい (基本的に [文字].csv を含むファイルはすべて削除しますが、[数字].csv を含むファイルは保持します)
これをbashで行う方法はありますか?
これはあなたが求めていることを実行するはずですが、これは非常に危険なコマンドであることに注意してください。正しいパスを指定するようにしてください!
find ./ -type f -name '*[a-z]*.csv' | xargs rm
「./」には、削除するファイルのディレクトリへのパスを配置する必要があります。これにより、文字を含むファイルも削除されます。12h.csvでも。
ls | grep [[:alpha:]*].csv | xargs rm
やりたいことをやればいい。
編集:
ls はディレクトリ内のファイルをリストし、そのリストを grep に渡します。
grep はそのリストを取得し、文字で始まり .csv で終わるものだけを除外し、この新しいリストを xargs に渡します。
xargs はファイルのリストを受け取り、それを引数として rm に渡します。
rm は、渡された名前のファイルを削除します。