「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' \)