App-Bin4TSV
view release on metacpan or search on metacpan
scripts/gzpaste view on Meta::CPAN
my $str = <$fh> ;
defined $str ? $readables ++ : ( $str = '' ) ;
push @out , $str ;
}
if ( $readables == 0 ) {
$tolerance -- ;
last if $tolerance < 0 ;
print STDERR RED "An unreadable line occurs after readin $out_ln lines.\n" ;
next
}
chomp @out ; # åè¦ç´ ã«ã¤ãã¦è¡æ«ã®æ¹è¡æåãé¤å»ããã
print "$out_ln:\t" if $o{':'} ; # è¡çªå·ã®åºå
print join ( $osep , @out ) , "\n" ;
cyc_rep ( $out_ln ) if ++ $out_ln % $cyc_len == 0 ; # <-- "++" ã«è¦æ³¨æãä¿å®æã«ããã¦ã
}
}
sub cyc_rep ( $ ) {
local $| = 1 ;
(my$num=$_[0]) =~ s/(?<=\d)(?=(\d\d\d)+($|\D))/,/g ; # 3æ¡æ¯ã«ã³ã³ãã§åºåã
my $time_shown = sprintf '%02d:%02d:%02d' , ( localtime ) [2,1,0] ;
my $sec = time - $time0 ;
$sec = sprintf $o{3} ? '%0.3f' : '%0.0f' , $sec ;
$time0 = time ;
print STDERR GREEN $num , ":\t" , $time_shown ;
print STDERR GREEN "\t" , $sec , " sec.\t($Script)" ;
print STDERR RESET "\n" ;
}
sub dtfmtlocal ( ) {
my @f = @{[localtime]}[5,4,3,2,1,0] ;
$f[0] += 1900 ;
$f[1] += 1 ;
return sprintf ( "%04u-%02u-%02u %02u:%02u:%02u" , @f ) ;
}
# ãã«ãã®æ±ã
sub VERSION_MESSAGE {}
sub HELP_MESSAGE {
use FindBin qw[ $Script ] ;
$ARGV[1] //= '' ;
open my $FH , '<' , $0 ;
while(<$FH>){
s/\$0/$Script/g ;
print $_ if s/^=head1// .. s/^=cut// and $ARGV[1] =~ /^o(p(t(i(o(ns?)?)?)?)?)?$/i ? m/^\s+\-/ : 1;
}
close $FH ;
exit 0 ;
}
=encoding utf8
=head1
$0 some1.gz some2.gz ...
Unixã® paste ã®ããã«ãè¤æ°ã®ãã¡ã¤ã«ã®åè¡ã横ã«ä¸¦ã¹ãã
ãªãã·ã§ã³:
-d str : åºåã®åºåãæå
-g ; gzcat ã³ãã³ãã使ã£ã¦ãã¡ã¤ã«ãèªã¿åãããã«ãããPerlIO::gzip ãèªåãã«ä½¿ããªãã
-r : å
¥åã®æ¹è¡ã "\r\n" ãä»®å®ããã(åºå㯠"\n" ã®ã¾ã¾ã)
-t num : gzãã¡ã¤ã«ãèªã¿åããªãå ´åã«ä½åç¹°ãè¿ãã¦èªã¿åããã(tolerance)
-3 : ç§æ°ã®è¡¨ç¤ºãå°æ°ç¹ä»¥ä¸3æ¡ã«ããã
-! ; åºåããããã¡ã«è²¯ããªãã
ç°å¢å¤æ° :
$osep : åºåã®åºåãæåãã¨ãã¦ä½¿ããããã-d str ã§æå®ããã¨ä¸æ¸ããããã
å©ç¨ä¾:
$0 -d , file1 file2 file3 # -d ã§åºååºåãæåãæå®ãã¦ããã
osep=, $0 file1 file2 file3 # ç°å¢å¤æ°ãåºååºåãæåãæå®ãã¦ããã
注æç¹ ;
gzip å§ç¸®ããããã¡ã¤ã«ãè¤æ°ãåç´ã«é£çµ(concat, cat)ãã¦ããgzcat ã§ã¯åé¡ç¡ãã
PerlIO::gzipã§ã¯åé¡ãèµ·ãããé£çµæã®æåã®ãã¡ã¤ã«ãèªã¿çµãã£ãå¾ã次ãèªããã¨ãã§ããªãã
=cut
( run in 0.931 second using v1.01-cache-2.11-cpan-39bf76dae61 )