
CentOS 5 を使っています。
とある巨大なログファイルがあります。
例えば grep hoge log.txt | tail -1 みたいな事をやっているのですが、これをどうにか高速にできないですかね?
上記だと、ログファイルを全検索しているので効率が悪いです。
(ログファイルはファイルの最後の方に新しい情報が記録されているので、その最新ログが見たいのです)
安易に思いつくのは tac コマンドを使って
tac log.txt | grep hoge | head -1
でもいいんですが、grep で「最初のマッチで終了」してくれるオプションもなさそうです。
何か良い方法があればご教示願います。
(ruby 等でスクリプトを書いても良いのですが、何とかワンライナーで出来ないかなと)
P.S
ちなみに実際の見たい情報は「grep でマッチした前後数行」なので -A や -B オプションを使っています。
No.2ベストアンサー
- 回答日時:
> grep で「最初のマッチで終了」してくれるオプションもなさそうです。
mオプションがそうではないでしょうか。
http://linuxjm.sourceforge.jp/html/GNU_grep/man1 …
この回答への補足
おぉっ!なるほど、そんな感じですね。
時間見つけて試してみます。これで一応 tac コマンド + grep で目的は達成できそうですね。
ただし、-A や -B オプションを使っているので表示は逆になりますが・・・あっ、また tac すれば良いのか!
tac biglog.txt | grep -m 1 -A 2 -B 1 hoge | tac
結果は報告するようにします。
使用しているOSが古い(RHEL3)せいか -m オプションはありませんでした orz
特に困っているわけではないので大丈夫です。
スッキリしました。ありがとうございます。
No.1
- 回答日時:
その「ログファイル」の構成とか「どのくらい高速化することを想定しているのか」にもよりそうだけど, 普通のログファイルなら劇的な高速化はできないと思う. どう頑張っても「ファイルを最後まで読み込む」より速くはならないし, grep がそれより極端に遅いとは思えない.
「100秒かかっているのが 99秒になる」くらいの高速化はできるかもしれんけど.
この回答への補足
説明不足でした。
単純にマッチ行がファイルの先頭付近なのか最後の方なのかで効率は変わります。
仮に先頭付近だった場合、最初の数行でマッチし、そこで処理を終了させればよいので、かなりの効率化になりますよね。
最後の方にあればしょうがないですね。
いづれにせよ、マッチした時点で grep が終了してくれれば良いです。(-l オプションは終了してくれるがマッチ行を出力しない)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- UNIX・Linux bashでブランク(空白)を検索文字列として指定する方法 1 2022/04/13 22:29
- フリーソフト grep検索では 1 2022/11/01 19:26
- その他(プログラミング・Web制作) bashのgrepで複数の検索、かつスクリプト内で改行する方法を教えてください。 1 2022/10/06 20:09
- その他(プログラミング・Web制作) Windowsのマクロプログラムで、こんなことできますか? 3 2022/06/28 14:30
- UNIX・Linux bashスクリプトのgrepで3XXの検索の仕方について 2 2022/09/06 21:35
- 教えて!goo 指摘されたので質問です 1 2022/04/17 14:11
- フリーソフト サクラエディタは複数行に渡る文字列の正規表現検索はできますでしょうか? 3 2022/05/05 09:58
- その他(IT・Webサービス) ホームページにカウント数を表示する 2 2022/10/28 10:37
- デスクトップパソコン 「自動修復でPCを修復できませんでした」と表示されPCが起動しないのですが対処法はありますか? 5 2022/05/13 09:16
- UNIX・Linux Linuxのbash環境下です。 1 2022/11/27 12:31
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
おすすめ情報
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
マッチングアプリで知り合った...
-
恋愛感情がない相手にも自宅住...
-
マッチングアプリで再マッチし...
-
初デートのあと返信が極端に遅...
-
ネットをしていると時々ACTMA...
-
SixTONESのマスカラっていう 新...
-
女性に質問です、相手のおちん...
-
マッチングアプリについてです...
-
こいつやお前と呼ぶ男性心理は?
-
タバコの味ってライターで変わ...
-
マッチングアプリで再マッチし...
-
気になる人と初デートで嘔吐し...
-
マッチングアプリでマッチした...
-
100均 ライター マッチ 経済的...
-
今度お見合いするんですが相手...
-
一般的に、お見合い結婚は負け...
-
年上の女性と付き合いたいです...
-
お見合い後、本人への断り方
-
なよなよした男性に嫌悪感
-
結婚相手の紹介について
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
恋愛感情がない相手にも自宅住...
-
創価学会などの新興宗教信者の...
-
マッチングアプリで知り合った...
-
初デートのあと返信が極端に遅...
-
マッチングアプリで再マッチし...
-
マッチングアプリで再マッチし...
-
未成年はzippo購入不可ですか?
-
タバコの味ってライターで変わ...
-
気になる人と初デートで嘔吐し...
-
ログファイルを後ろから検索し...
-
デートの誘いに対する曖昧な返...
-
マッチとライター。どちらがコ...
-
周りから
-
マッチングアプリでマッチした...
-
なよなよした男性に嫌悪感
-
こいつやお前と呼ぶ男性心理は?
-
【至急】エクセルで複数のファ...
-
マッチングアプリでマッチした...
-
マッチングアプリで医学部の人...
-
年上の女性と付き合いたいです...
おすすめ情報