![「find -name *.jks」が一部のファイルを返さないのはなぜですか? [コピー]](https://linux33.com/image/49927/%E3%80%8Cfind%20-name%20*.jks%E3%80%8D%E3%81%8C%E4%B8%80%E9%83%A8%E3%81%AE%E3%83%95%E3%82%A1%E3%82%A4%E3%83%AB%E3%82%92%E8%BF%94%E3%81%95%E3%81%AA%E3%81%84%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
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
*.jks
findコマンドを実行する前にシェルで拡張できます。
例えば
$ 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
下線付きまたはなしのすべてのファイルを提供します。