綾小路龍之介の素人思考

[linux] grep で and 検索(パイプ)、or 検索(連続 -e オプション)

grepでand検索したい時には、複数回grepしてパイプ処理する。or検索したい時には、複数個 -e オプションを並べる。grepを何回も呼び出すのが嫌だったので、and検索も一発で出来ないかと思ったけど、どうやら無理みたい。

まずはand検索。多段grepプロセスでパイプ処理。

$ grep -e 'title' /boot/grub/menu.lst | grep -e 'Debian'
title           Debian GNU/Linux, kernel 2.6.26-2-686
title           Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
title           Debian GNU/Linux, kernel 2.6.26-1-686
title           Debian GNU/Linux, kernel 2.6.26-1-686 (single-user mode)

次に or 検索。単一grepプロセスで多重 -e オプション。

$ grep -e 'Debian' -e 'title' /boot/grub/menu.lst
# title         Windows 95/98/NT/2000
# title         Linux
title           Debian GNU/Linux, kernel 2.6.26-2-686
title           Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
title           Debian GNU/Linux, kernel 2.6.26-1-686
title           Debian GNU/Linux, kernel 2.6.26-1-686 (single-user mode)

リファレンス

  1. "grep" and検索とor検索 @LCD -Linux Command Dictionary-|Replog!株式会社レップワンスタッフによるブログです
  2. grepでor、and、not検索 - ヘタレSEの覚書
  3. grep "and" "or" - Google 検索

ソーシャルブックマーク

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

ChangeLog

  1. Posted: 2009-08-21T12:46:17+09:00
  2. Modified: 2009-08-21T12:46:17+09:00
  3. Generated: 2017-08-23T23:10:57+09:00