FC2ブログ

正規表現で grep 検索を便利に その4

今回は、メタキャラをつかってみようと思います

とくに一番使う * を使ってみます

* は端末で一番使うことが多いと思います

例えば grep *.txt
として .txt の拡張子のものを調べたりといろいろ活用できます

ただし、正規表現になると意味が変わっていますので要注意です

^が行頭だったのに、正規表現にしたら 否定になっているように

*も、~を含むすべて、というような意味合いから
正規表現では
直前の文字、もしくは0回以上のパターンの繰り返し
という意味になっています

0回もカウントしてしまうので、空文字も含みます

まずは、わかりやすく、サンプルを用意しましょう

vi sample.txt
でファイルを作成し

内容を
aa lx
laaaax
lbx 13
11 lax
345
4444456
laas
lbbx

という内容にします


この中から、l で始まりaの繰り返しが何個からあり
最後はx で終わるものを検索するには
grep "laa*x" sample.txt
とします

結果は
laaaax
11 lax
となります

間違えて
grep "la*x" sample.txt
とすると、空白入りの行がでてきます

この応用で、数字だけの行をだせます
grep "^[0-9][0-9]*$" sample.txt
これで
345
4444456
となります

. と * を組み合わせて任意の文字列とマッチさせるというのが
よく使われるそうです

ただし、1個以上の任意の文字列にするなら
.*
ではなく
..*
としますのでご注意

スポンサーサイト



テーマ : Linux
ジャンル : コンピュータ

コメント

非公開コメント

最新記事
検索フォーム
GREEハコニワ攻略サイト
リンク
カテゴリ
月別アーカイブ
フリーエリア
最新記事
FXプライムレート
最新コメント
最新トラックバック