grepでコメント行と空白を除外する
Pocket

grepでコメント行と空白を除外する場合、以下のようにすると良いだろう。

grep -v -e '^$' -e '^#' 対象のファイル

一応解説をすると、-vで検索条件に該当する行を除外して出力するよ、という意味。
-eで複数の条件で検索するという意味で、’^$’は正規表現で行頭に行末が来ている場合、’^#’で行頭にコメントアウトがある場合を指定している。

実際に、crontabで実行した結果がこちら。

Sponsored Links

$ cat /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/

# For details see man 4 crontabs

# Example of job definition:
# .---------------- minute (0 - 59)
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ...
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
# |  |  |  |  |
# *  *  *  *  * user-name command to be executed
*/5 * * * * root /usr/local/bin/update_motd.sh
[root@test-centos ~]#
[root@test-centos ~]# grep -v -e '^$' -e '^#' /etc/crontab
SHELL=/bin/bash
PATH=/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=root
HOME=/
*/5 * * * * root /usr/local/bin/update_motd.sh
$

20150125_000003

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。