いつも大変お世話になっておりますgrep

cとかvはいいとして、意外とオプション知らなかったりする。

例えばn。

$ grep dd sample01.pl 
@xx[3..4] = ( "dd", "ee" );
$ grep -n dd sample01.pl
5:@xx[3..4] = ( "dd", "ee" );

てな感じで行番号を一緒に出してくれる。

あとこんな感じでひっかかった場所の前後の行を一緒に出したりできる。
$ grep -1 dd sample01.pl 
$xx[2] = 'cc';
@xx[3..4] = ( "dd", "ee" );
print @xx;

ここでは1ってしてるので前後1行。
ちなみにこいつはContextってオプションの省略形。省略しないとこう。
$ grep -C 1 dd sample01.pl 
$xx[2] = 'cc';
@xx[3..4] = ( "dd", "ee" );
print @xx;


Contextの派生でAfterとかBeforeもある。
$ grep -A 1 dd sample01.pl 
@xx[3..4] = ( "dd", "ee" );
print @xx;
$ grep -B 1 dd sample01.pl
$xx[2] = 'cc';
@xx[3..4] = ( "dd", "ee" );

もうその名の通りですね。