
#!/usr/bin/env perl
# -*- coding: utf-8 -*-
use strict;
use warnings;
# ファイルリストを受け取る
my @fns;
while (<>) {
chomp;
next if not -e $_;
push @fns, $_;
}
@fns = sort @fns; # 生成時間(=ファイル名)の順にソート
my %items;
for (my $i = 0; $i < @fns; $i++) {
open(my $fh, "<", $fns[$i]) or die;
my %cur;
while (<$fh>) {
chomp;
my ($id, @c) = split(/\t/, $_);
$items{$id}{first} ||= $fns[$i];
$items{$id}{last} = $fns[$i];
$items{$id}{content} = [$id, @c];
$cur{$id} = 1;
}
close($fh);
}
foreach my $id (sort keys %items) {
my $first = $items{$id}{first}; # 初めてみたとき
my $last = $items{$id}{last}; # 最後にみたとき
my $alive = $last eq $fns[-1] ? 1 : 0; # まだ生きてる?
print join(" ",
$id, $alive, $first, $last,
#@{$items{$id}{content}}
)."\n";
}
% ls -1 log/* log/20160315.txt log/20160316.txt log/20160317.txt log/20160318.txt log/20160319.txt log/20160320.txt log/20160321.txt % head log/*.txt ==> log/20160315.txt <== B0184BHSQU 1250 B012CIAZ34 1260 ==> log/20160316.txt <== B0184BHSQU 1250 B012CIAZ34 599 ==> log/20160317.txt <== B012CIAZ34 648 ==> log/20160318.txt <== B00KMRKDTY 702 ==> log/20160319.txt <== B00KMRKDTY 702 ==> log/20160320.txt <== B00KMRKDTY 702 ==> log/20160321.txt <== B00KMRKDTY 702 % ls log/*.txt |./lifespan.pl B00KMRKDTY 1 log/20160318.txt log/20160321.txt B012CIAZ34 0 log/20160315.txt log/20160317.txt B0184BHSQU 0 log/20160315.txt log/20160316.txt

●ペンケースに収納しやすいスリムボディは、ペンスタンドに入れてもかさばりません。
●刃渡り60mmでスイスイ切れます。
●特徴的な立体ハンドルにより、携帯できるサイズではさみの握りやすさを実現しました。
●キャップ付きで収納時も安心です。