覚えると便利な grep オプション

覚えると便利な grep オプション

検索結果から除外したいものがある場合
-v オプションを使うと便利

例えば

grep 'sh$' /etc/services

を実行すると


bvcontrol       1236/udp                        # Daniel J. Walsh
cybercash       551/tcp                 # cybercash
cybercash       551/udp                 # cybercash
slush           1966/tcp                # Slush
slush           1966/udp                # Slush
novell-zen      2544/tcp                # Management Daemon Refresh
novell-zen      2544/udp                # Management Daemon Refresh
trustestablish  2573/tcp                # Trust Establish
trustestablish  2573/udp                # Trust Establish
simple-push     3687/tcp                # simple-push
simple-push     3687/udp                # simple-push
synchromesh     4548/tcp                # Synchromesh
synchromesh     4548/udp                # Synchromesh
fmp             4745/tcp                # Funambol Mobile Push
fmp             4745/udp                # Funambol Mobile Push
nfoldman        7393/tcp                # nFoldMan Remote Publish
nfoldman        7393/udp                # nFoldMan Remote Publish

というように tcp と udp の両方がでてくる

でも udp の行はいらない、というのなら

grep 'sh$' /etc/services | grep -v udp

とすれば
udp の結果は除外される


cybercash       551/tcp                 # cybercash
slush           1966/tcp                # Slush
novell-zen      2544/tcp                # Management Daemon Refresh
trustestablish  2573/tcp                # Trust Establish
simple-push     3687/tcp                # simple-push
synchromesh     4548/tcp                # Synchromesh
fmp             4745/tcp                # Funambol Mobile Push
nfoldman        7393/tcp                # nFoldMan Remote Publish


これを使えば、結果からコメントアウトされたものを除いて
設定ファイルをみることができる

コメントアウトは
先頭に # がついている行なので
grep -v ^#
を使えば簡単に除外できる

例えば、apache の設定ファイルの
/etc/httpd/conf/httpd.conf
の中から
/var/www/
の行を調べたいけど、
#でコメントアウトされた行は除くというなら

cat /etc/httpd/conf/httpd.conf | grep var/www | grep -v ^#

とすれば

DocumentRoot "/var/www/html"
<Directory "/var/www/html">
Alias /icons/ "/var/www/icons/"
<Directory "/var/www/icons">
ScriptAlias /cgi-bin/ "/var/www/cgi-bin/"
<Directory "/var/www/cgi-bin">
Alias /error/ "/var/www/error/"
    <Directory "/var/www/error">


というように必要な部分だけみることができる

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です