「grep '.*[s]' file」は機能しますが、「grep .*[s] file」は機能しないのはなぜですか?

「grep '.*[s]' file」は機能しますが、「grep .*[s] file」は機能しないのはなぜですか?

比較する

grep '.*[s]' ファイル

そして

grep .*[s] ファイル

これがうまくいくにはなぜ見積もりが必要ですか? 2番目のケースでは、grepがピリオドを含むすべてのファイルを確認しようとしているようです。

ベストアンサー1

パラメータの周りの引用符(単一または二重)は、グローバル拡張を抑制します。

最初の例は正規表現を引数として渡しますgrep。 2番目の例には、シェル自体に拡張されたglobパターンが含まれており、そのパターンに合ったファイル名を引数として渡しますgrep

おすすめ記事