#前置き
##grep、zgrepの"-h"オプションとは
複数のファイルを対象にgrepする時に、検索結果の先頭にマッチしたファイル名を同時に表示するのを抑止する。
##zgrepとは
「圧縮されている可能性のあるファイルで、正規表現の検索をする 」
gzipで圧縮されたファイルもされていないファイルも検索できるので、ローテーションのついでにgzipで圧縮しているログファイルあたりをgrepしたい時に便利。
実はshell scriptで実装されてたりする。
$ which zgrep
/usr/bin/zgrep
$ file /usr/bin/zgrep
/usr/bin/zgrep: POSIX shell script text executable
#本題
T/O
ソースはhttps://access.redhat.com/site/solutions/188483
RHEL6(≒CentOS 6)では”-h"オプションが効かない。
RHEL5(≒CentOS 5)では使えるのでハマると厄介そう。
#回避方法
"-h"ではなく"--no-filename"を使う。
$ zgrep foo f1 f2
f1:foo
f2:foo
$ zgrep -h foo f1 f2
f1:foo
f2:foo
$ zgrep --no-filename foo f1 f2
foo
foo