[ Major Meta Characters of Regular Expressions ]

.  Replace any character
*  直前にある文字の0回以上の繰り返しにマッチする
^  Matches start of string
$  Matches end of string
[] []内の任意の1文字にマッチ
{n} 前にある文字がn文字続く
( ) ( )内の内容を記憶する。 $1で置換
(?=xxx),(?!xxx) Lookahead
(?<=xxx),(?<!xxx) Lookbehind
\  直後に続くメタキャラクタの意味を解除する
+  直前にある文字の1回以上の繰り返し
?  直前にある文字の0回以上もしくは1回の繰り返し
|  | の左右1文字の記述いずれかにマッチする

空白行の削除

grep -v '^\s*$' ファイル名

コメント行の削除

grep -v '^\s*#' ファイル名

sedの場合

sed '/^\s*$/d' ファイル名 | sed '/^\s*#/d'