LoginSignup
3
4

More than 5 years have passed since last update.

zgrepで"-h"オプションが効かない

Posted at

前置き

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
3
4
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
4