ディレクトリにファイルのリストがあり、0または7を含むすべてのファイルを削除する必要があります。 grepを使用する必要があるようですが、よくわかりません。どんなアイデアがありますか?
ベストアンサー1
あなたがすることは、特定の条件テストに対してファイルを評価し、条件テストの結果に基づいて各ファイルに対して作業を実行することです。これがこのコマンドの正確な目的ですfind
。
これはポータブル(POSIX互換)コマンドは、内容に「0」または「7」を含む一般ファイルを削除します。
find . -type f -exec grep -q '[07]' {} \; -exec rm {} +
気づくこれ再帰的現在のディレクトリを検索します。
これが必要でない場合は、masterデータベースが-maxdepth
利用可能であることを確認できます(この場合、masterデータベースを使用することもできます。POSIX-delete
ではどちらも指定しません)。
find . -maxdepth 1 -type f -exec grep -q '[07]' {} \; -delete
または、以下の技術を適用できます。