• ベストアンサー

grepで検索文字列が完全一致した行だけ取り出す方法

grepの文字列検索で検索文字列が単語として、完全一致した行だけ取り出す方法はないでしょうか? 通常は grep hoge hoge.txt と打つと、hogeが含まれる行が出力されますが、今回は含まれる行ではなくて完全に文字列が一致した行だけ取り出したいのです。 例えばhoge.txtの中に cc ghoge kkl hogem jjll hoge という3行があったとしたら最後の行でhogeという文字が空白で区切られた行だけ取り出したいのです。 何かよい方法があれば教えてください

質問者が選んだベストアンサー

  • ベストアンサー
  • Toshi0230
  • ベストアンサー率51% (836/1635)
回答No.3

-w オプションじゃだめですか?

参考URL:
http://www.linux.or.jp/JM/html/GNU_grep/man1/grep.1.html
oshimakun
質問者

お礼

-wで大丈夫です ありがとうございます

その他の回答 (2)

  • sakusaker7
  • ベストアンサー率62% (800/1280)
回答No.2

grep -w 'hoge' hoge.txt Regexp selection and interpretation: -E, --extended-regexp PATTERN is an extended regular expression -F, --fixed-strings PATTERN is a set of newline-separated strings -G, --basic-regexp PATTERN is a basic regular expression -P, --perl-regexp PATTERN is a Perl regular expression -e, --regexp=PATTERN use PATTERN as a regular expression -f, --file=FILE obtain PATTERN from FILE -i, --ignore-case ignore case distinctions -w, --word-regexp force PATTERN to match only whole words -x, --line-regexp force PATTERN to match only whole lines -z, --null-data a data line ends in 0 byte, not newline Linuxならまず間違いなくGNU grepを使っているでしょうから、 これらのオプションが使えるはずです。

oshimakun
質問者

お礼

はい -wが使えることも確認できました ありがとうございました

回答No.1

grep " hoge " hoge.txt #hogeの前後に空白 ではだめですか?

oshimakun
質問者

お礼

空白や他の区切り文字でも思うように動きました ありがとうございました

関連するQ&A