綾小路龍之介の素人思考

[linux] grepで設定ファイルからコメントアウトと空行を削除

問題は「空行」と「排除」をどのように表現するか。空行は '^$' 、排除は -v オプションで表現できる。こういう話は既に出ているので、「grep 空行 コメント」等で探せばすぐに答えが見つかる。

結局以下の通りである。1つめのgrepで空行を排除して、2つ目のgrepでコメントアウトを排除している。

$ grep -v '^$' /boot/grub/menu.lst | grep -v '#'
default         0
timeout         5
color cyan/blue white/blue
title           Debian GNU/Linux, kernel 2.6.26-2-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro
initrd          /boot/initrd.img-2.6.26-2-686
title           Debian GNU/Linux, kernel 2.6.26-2-686 (single-user mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.26-2-686 root=/dev/hda1 ro single
initrd          /boot/initrd.img-2.6.26-2-686
title           Debian GNU/Linux, kernel 2.6.26-1-686
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.26-1-686 root=/dev/hda1 ro
initrd          /boot/initrd.img-2.6.26-1-686
title           Debian GNU/Linux, kernel 2.6.26-1-686 (single-user mode)
root            (hd0,0)
kernel          /boot/vmlinuz-2.6.26-1-686 root=/dev/hda1 ro single
initrd          /boot/initrd.img-2.6.26-1-686

grepを2回も呼び出すのは無駄なので、以下のようにすればいい。

$ grep -v -e '^$' -e '#' /etc/host.conf
multi on

リファレンス

  1. grepでor、and、not検索 - ヘタレSEの覚書
  2. Tips Collection - grep
  3. grepでコメント行と空行を取り除こう - だるろぐ跡地
  4. 設定ファイルのコメントと空行以外を出力する - RX-7乗りの適当な日々
  5. grep 空行 コメント - Google 検索

ソーシャルブックマーク

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

ChangeLog

  1. Posted: 2009-08-22T12:54:58+09:00
  2. Modified: 2009-08-22T12:54:58+09:00
  3. Generated: 2017-08-23T23:10:57+09:00