- ベストアンサー
grepで検索文字列が完全一致した行だけ取り出す方法
grepの文字列検索で検索文字列が単語として、完全一致した行だけ取り出す方法はないでしょうか? 通常は grep hoge hoge.txt と打つと、hogeが含まれる行が出力されますが、今回は含まれる行ではなくて完全に文字列が一致した行だけ取り出したいのです。 例えばhoge.txtの中に cc ghoge kkl hogem jjll hoge という3行があったとしたら最後の行でhogeという文字が空白で区切られた行だけ取り出したいのです。 何かよい方法があれば教えてください
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
-w オプションじゃだめですか?
その他の回答 (2)
- sakusaker7
- ベストアンサー率62% (800/1280)
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を使っているでしょうから、 これらのオプションが使えるはずです。
お礼
はい -wが使えることも確認できました ありがとうございました
- valtelsafrurle
- ベストアンサー率20% (1/5)
grep " hoge " hoge.txt #hogeの前後に空白 ではだめですか?
お礼
空白や他の区切り文字でも思うように動きました ありがとうございました
お礼
-wで大丈夫です ありがとうございます