[memo][perl][linux] ファイルから最近アペンドされた n行を取得する

2008.2.16(土) 13:31   タグ: 覚え書き, Perl, linux

ログファイルのようにアペンド保存されているファイルから,最近アペンドされた n行を取得する一方法のメモ.個人的に今まで気づかなかったので.

my $n    = <取得数>;
my $file = <対象ファイル名>;
my @recent_appended = reverse split( m{\x0d\x0a?|\x0a}, `tail -$n $file` );

tail コマンドを使えば簡単ですね.

次のようにすれば head コマンドや tailコマンドのように使えそうです.

#!/usr/bin/perl
use strict;
use warnings;
$ARGV[0] =~ s{-}{}; # 取得数に ‘-’ をつけてもつけなくてもいいように...
print join( "\n", reverse split( m{\x0d\x0a?|\x0a}, `tail -$ARGV[0] $ARGV[1]` ) ) . "n";

この記事へのトラックバック

この記事へのトラックバックはまだありません.


この記事へのコメント »

この記事へのコメントはまだありません.

コメント RSS

コメントをどうぞ


ぶろぐ内検索

WCAN 2008 Winter

wcan2008winter

DeLLa.JS

細々公開ちゅう

  • DQWindowManager
  • ごよてい?
  • にこぐらふ
  • twitomonitor [ついともにた]
  • issm's ...
  • 今さら攻略 スーパーマリオブラザーズ 2

I'm doing...

Loading...

最近のエントリ

最近のトラックバック

最近のコメント

タグ

月別

あわせて読みたい

あわせて読みたいブログパーツ

数値いくつか

  • issmの泳いだ距離
  • issmの100m個メタイム(秒)
  • issmのBMIとissmの体脂肪率
  • issmの最高血圧とissmの最低血圧

スポンサード リンク

メタ情報