28371


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

例えば、

[code]

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

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

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


CC BY-SA 3.0
2016-08-19T06:47:00.087
28370
2016-08-19T07:03:56.007
15147
question
bash shellscript sh
カレントディレクトリのファイル有無によってgrepコマンドの結果が異なる


`[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]

とすべきです。


CC BY-SA 3.0
2016-08-19T07:03:56.007
28371
2016-08-19T07:03:56.007
4236
28370
answer