は私がパターンに一致いけない指定したフォルダ内のすべてのファイルを削除したい^transactions_[0-9]+
再帰的に与えられたパターンに一致いけないフォルダ内のすべてのファイルを削除する方法
だが、私はフォルダ内のこれらのファイルがあるとしましょう
file_list
transactions_010116.csv
transactions_020116.csv
transactions_check_010116.csv
transactions_check_020116.csv
私はtransactions_check_010116.csv
とtransactions_check_020116.csv
を削除し、彼らは私が使用しようとしてきた^transactions_[0-9]+
を使用しているとして、最初の2を残したいと思いfind
以下のようなものが、この表現は、フォルダパターンに一致いけないだけでなく、ファイル内のすべてを削除します。
^transactions_[0-9]+
で始まるいけないフォルダ内のすべてのファイルを見つける使用している、ここで何をしようとしている
find /my_file_location -type f ! -regex '^transactions_[0-9]+' -delete
それらを削除します。
あなたの返事をありがとう、残念ながら 'find:unknown predicate -E'' - findコマンドでregex式を使う別の方法はありますか?私は '/ my_file_location -regextype sedを見つけようとしました! -regex "。*/transactions_ [0-9] \ +" -type f -delete'これはパターンを見つけられなかったので、フォルダ内のすべてを削除しました。 –
@SamGilbert:これはfind/my_file_location! -regex '。*/transactions_ [0-9] + $' -type f -print'あなたが削除したいファイルをリストしますか?そして、私はあなたが '-regextype'に渡すことができるものと同じ' find'を使っていませんでしたか? –
ああ、私はそれを得ました、パターン ''。*/transactions_ [0-9] +。*' 'は必要なファイルを出力します!だから今それらを削除することができました、あなたの助けをありがとう –