カレントディレクトリのファイル有無によってgrepコマンドの結果が異なる


初歩的かもしれませんが、質問します。

例えば、

[code]

    $ sed -n -e 10p ./hoge.txt | grep -o [0-9]*
    
[/code]

のようにして、ファイルからある数値を抽出する際、  
カレントディレクトリに 1111.pdf のようなファイルがあると  
うまく抽出できません。（無いとうまく抽出できます）

なぜ、このような挙動になるのでしょうか？




`[0-9]*`がファイル名にマッチし

[code]

    $ sed -n -e 10p ./hoge.txt | grep -o 1111.pdf
    
[/code]

に展開されて`grep`が起動されています。展開を抑止したければ

[code]

    $ sed -n -e 10p ./hoge.txt | grep -o '[0-9]*'
    
[/code]

とすべきです。




`[0-9]*`がファイル名にマッチし

[code]

    $ sed -n -e 10p ./hoge.txt | grep -o 1111.pdf
    
[/code]

に展開されて`grep`が起動されています。展開を抑止したければ

[code]

    $ sed -n -e 10p ./hoge.txt | grep -o '[0-9]*'
    
[/code]

とすべきです。

