特定の文字シーケンスを含むが開始または終了しないファイル名のリスト

特定の文字シーケンスを含むが開始または終了しないファイル名のリスト

「2022」を含むすべてのファイル名をリストし、「2022」で始まるまたは終わるファイル名を除外したいと思います。これに適したコマンドは何ですか?

ベストアンサー1

このfindコマンドは次のことを行います。

find . -name '*2022*' ! \( -name '2022*' -o -name '*2022' \)

まず、どこにでも含まれているファイルを一致させ、次に先頭または末尾に含まれるファイルを一致2022させません。2022

私が使用する環境では、すべてを*一重引用符で囲む必要があります\

このコマンドを使用して各条件を個別に宣言することもできますが、最初の条件はより便利です。

find . -name '*2022*' ! -name '2022*' ! -name '*2022'

これは、ディレクトリの深さ全体にドロップダウンすることに注意してください。 cwd に制限します。

find . -maxdepth 1 -name '*2022*' ! \( -name '2022*' -o -name '*2022' \)

おすすめ記事