奇妙なコマンドを探す

奇妙なコマンドを探す

'を使って見つけました。探す'コマンドは、いくつかの不一致があるように見える個々のファイルを検索します。たとえば、次の単語を含む特定のファイルを検索したいとします。その名前で。入力すると、sudo find /mnt -iname *paper* 出力は次のようになります。

/mnt/data/MyPhotos/Wallpapers

それは公平です。私が望むのはそれではありません。ただし、入力すると sudo find /mnt -iname "*paper*"出力は次のようになります。

/mnt/data/MyMusic/FLV-Music/Joe_Jackson_Sunday_Papers_small.mp4
/mnt/data/MyMusic/FLV-Music/Status_Quo_Paper_Plane_medium.mp4
/mnt/data/MyPhotos/Wallpapers

これで、検索中のファイル(2番目のファイル)が表示されます。それでは、最初のケースでは最後のファイルだけが出力としてマークされ、2番目のケースではすべてのファイルに文字列が含まれるのはなぜですか?paper彼らの名前で出力されます。ここで引用文がなぜ変わりますか?

ベストアンサー1

引用符がない場合、シェルは*前のfindisを解析し、globを拡張します(可能な場合)。引用符を使用すると、ワイルドカードは発生しません。

展示する:

$ tree
.
├── Wallpapers
└── stuff
    ├── Newspapers
    ├── Wallflowers
    └── Wallpapers

2 directories, 3 files
$ find stuff -iname *paper*
stuff/Wallpapers
$ find stuff -iname '*paper*'
stuff/Wallpapers
stuff/Newspapers

おすすめ記事