いなばにっき

とある大学助手のだらだら日記

スポンサーサイト

いなばにっきはblog.1783.orgに引っ越しました。

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

検索結果の特定の部分だけ出力する

いなばにっきはblog.1783.orgに引っ越しました。

なんかこんなの絶対 grep とか awk とかのオプションでどうにかなるような気もするんだけど、「あるキーワードで検索した結果を、一行丸ごとでなくて特定のパターンにマッチした部分だけ取り出したい」という作業があって、とりあえず簡単に実現できそうな手段を明日の私のためにメモ。

具体的には、/var/log/maillog の特定のキーワード(たとえば reject したもの)がどこからきたメールなのか、というような検索。フィールドの場所が固定なら、awk '{print $1}' とかで全然いいんだけど、フィールドの場所が不定の場合、パターンマッチするしかない。

てことで、

#!/usr/bin/perl

$ptn = $ARGV[0];

while(<STDIN>){
if ($_ =~ /$ptn/)
{
print "$1\n";
}
}

みたいなスクリプトを準備しておいて(仮に patgrep というファイル名で作成)、

grep hogehoge /var/log/maillog | patgrep "from=<(.*?)>"

のようにしておくと、From= の HUGAHUGA 部分だけ取り出せてウマー。

いや、書いてて思ったけど、絶対こんなのある。標準的なコマンドで絶対どうにかなるはず。

でもって、新年度一発目の日記がこれなのがまたなんつーか。
とりあえず明日に向けてのメモでした。
スポンサーサイト

« Hyper Estraier on CentOS 5|Top|ピタゴラスイッチっぽいことができるソフト »

コメント

コメントの投稿

管理者にだけ表示を許可する

トラックバック

http://tetz.blog39.fc2.com/tb.php/225-16074fd0

Top

HOME

いなば

Author:いなば
とある私立大学のダラダラ助手。
機械には人格があると信じて疑わない。
最近、体脂肪率がすこ~し下がってとってもうれしい。

あわせて読みたい

にほんブログ村 教育ブログ 大学教育へ

ネットショップチャットレディSEO対策SEO誕生日プレゼントパワーストーン自動車

上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。