綾小路龍之介の素人思考

[grep] ハイフンから始まるパターンを検索するには-eオプション

ハイフンから始まるパターンを検索したい場合、grepにオプションではないということを明示しなければならない。そのためのオプションが-e。常に-eをつけて検索するように習慣付ければ問題なし。

たとえば、fugaという文字列をhoge.datから抽出したい場合は以下。

$ grep fuga hoge.dat

同様に-----という文字列をhoge.datから抽出したい場合、以下のようにすると、認識できないオプションと言われて、エラー。quoteしてもだめ。

$ grep ----- hoge.dat
grep: unrecognized option `-----'
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
$ grep '-----' hoge.dat
grep: unrecognized option `-----'
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
$ grep "-----" hoge.dat
grep: unrecognized option `-----'
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.

manpageを読むと以下のように書いてある。

-e pattern
パターンを指定します。パターンの先頭が、 - で始まっているなど、オプションの指定と混同される可能性がある時に有効です。 通常は、 -e を省略してパターンを記述する事ができます。

今回のようなハイフンから始まるパターンを検索するにはパターンの前に-eをつける。

$ grep -e ----- hoge.dat

リファレンス

  1. Manpage of GREP
  2. grep manpage - Google 検索

ソーシャルブックマーク

  1. はてなブックマーク
  2. Google Bookmarks
  3. del.icio.us

ChangeLog

  1. Posted: 2009-07-25T06:12:40+09:00
  2. Modified: 2009-07-25T06:12:40+09:00
  3. Generated: 2018-08-12T23:09:08+09:00