kamihead.rb

ref id:drambuie:20040713#p2
貧乏性メモ。一日どんなWebページを読んだのか振り返るような時に使用。

# kamihead.rb - 紙モドキでメモしたテキストファイルのファイル名と最初の数行を表示する。
# デフォルトでは24時間以内に作成されたファイルのみを処理する。
# それ以上の最近XX日分だけのオプションの指定はスクリプトファイルの後に指定する。
# ruby -s kamihead.rb -ndays=7

# 最近XX日分だけ
if ($ndays)
	NDAYS = $ndays.to_i;
else
	NDAYS = 1;
end

# 最初のXX行だけ
NLINES = 5;

now = Time.new;
days_before = now - (NDAYS * 24 * 60 * 60);

Dir.foreach('.') { |filename|
	if (filename == '.' || filename == '..') 
		next;
	end
	
	# 最近XX日分だけ
	ftime = File.stat(filename).ctime;
	if (ftime < days_before)
		next;
	end
	
	puts "\n";
	puts filename;
	
	# 最初の数行を出力する。
	head_lines = NLINES;
	File.foreach(filename) { |line|
		if (line.chop.empty?)
			next;
		end
		if (head_lines > 0)
			print line;
			head_lines-=1;
		end
		break if head_lines <= 0;
	}
}