特定のファイルを見つけるためにワイルドカードをスタックする方法は?

特定のファイルを見つけるためにワイルドカードをスタックする方法は?

という名前のすべてのファイルを探したいですfooxxxbarxxx。これらすべてのファイルの共通点fooは とbar

*foo*bar*試してみましたが動作*foo**bar*しません。

特に、これらのファイルへのソフトリンクを作成しようとしており、残りのコードはすでにより直接的な実行のために機能しています(すべてのサブフォルダが表示されますpath)。

shopt -s globstar

ln -s /path/**/*foo*bar* .

ありがとう

ベストアンサー1

シェルでは、このタイプのORシェル拡張オプションをbash使用する必要があります。extglob

shopt -s extglob nullglob

その後、ワイルドカード

ln -s /path/**/@(*foo*bar*|*bar*foo*)

おすすめ記事