すべてのサブフォルダでワイルドカード名を検索するには?

すべてのサブフォルダでワイルドカード名を検索するには?

すべてのサブフォルダでワイルドカード名を検索するには?dir *pattern* /s* nixのDOSコマンドと同じものは何ですか?

答え1

あなたはそれを使用することができますfind。たとえば、abcdファイル名に含まれるすべてのファイルとディレクトリを見つけるには、次のように実行できます。

find . -name '*abcd*'

答え2

ジシュ語:

ls -ld -- **/*abcd*

クッシュ93:

set -o globstar     # put this line in your ~/.kshrc
ls -ld -- **/*abcd*

大きい打撃≥4:

shopt -s globstar   # put this line in your ~/.bashrc
ls -ld -- **/*abcd*

ヤッシュ:

set -o extendedglob # put this line in your ~/.yashrc
ls -ld -- **/*abcd*

tcsh:

set globstar
ls -ld -- **/*abcd*

魚:

ls -ld -- **abcd*

(これらのシェルのいくつかはディレクトリツリーに沿って下がるとシンボリックリンクをたどりますzshyashtcsh***/*abcd*

移植性(非常に古いシステムを除いて、OpenBSDは長い時間がかかりましたが、最終的にexec … +5.1からサポートしました):

find . -name '*abcd*' -exec ls -ld {} +

POSIXではありませんが、* BSD、Linux、Cygwin、BusyBoxで動作します。

find . -name '*abcd*' -print0 | xargs -0 ls -ld

一部のBSDを除いて一致するファイルがない場合は、引数なしで実行されるためls -ldリストされます.。一部のxargs実装では、この-rオプションを使用してこの問題を解決できます。

関連情報