「find -name *.jks」が一部のファイルを返さないのはなぜですか? [コピー]

「find -name *.jks」が一部のファイルを返さないのはなぜですか? [コピー]
find . -name *.jks -print 2>/dev/null

ファイル拡張子を返します。ジャックそう下線なし名前の一部として。驚いたことに、*が下線を置き換えないことを発見しました。

find . -name *_*.jks -print 2>/dev/null

ファイル拡張子を返します。ジャックそれ下線があります

アンダースコアが0個以上含まれているファイルを検索するには? OSX Mountain Lionを使用してください。

答え1

私が知っているすべてのバージョンはfind下線とワイルドカードを一致させます。

これを行うときは注意してください。

find . -name *.jks -print 2>/dev/null

*.jksfindコマンドを実行する前にシェルで拡張できます。

例えば

$ mkdir foo
$ touch a.jks foo/a.jks foo/b.jks
a.jks
$ find . -name *.jks -print
./a.jks
./foo/a.jks

これは実際に電話をかけるため、たとえば見つからないためfind . -name a.jks -printですb.jks

ワイルドカード表現を引用すると、運が良くなる可能性があります。

$ find . -name "*.jks" -print
./a.jks
./foo/a.jks
./foo/b.jks

私は間違いなく走っています。

$ find . -name "*.jks" -print

下線付きまたはなしのすべてのファイルを提供します。

関連情報