App-Bin4TSV
view release on metacpan or search on metacpan
scripts/wc-l view on Meta::CPAN
push @out , $_[0] . '' if $_[0] ne "0" ; # dualvar ã ãã .'' ã®æä½ã§æååãæ½åºããå¿
è¦ãããã
print join ( "\t" , grep { $_ ne '' } @out ) , "\n" ;
}
# Ctrl-C ãæ¼ä¸ãããæã®å¦ç
sub sigint ( ) {
alarm 0 ;
print STDERR YELLOW sprintf ( " [ %0.3e ]-th line in [ $fn ]", $. ) , " read by '$Script'. " . hhmmss . "\n" ;
$SIG{INT} = sub { print STDERR BRIGHT_YELLOW " $. [ $fn ] " , "'$Script' " , hhmmss , "\n" ; close $FH ; exit 130 } ;
alarm 1 ;
my $tmp = $SIG{ALRM} ;
$SIG{ALRM} = sub { $SIG{INT} = \& sigint ; $SIG{ALRM} = $tmp ; alarm $cyc_sec } ; # <-- perl ç±æ¥ã®ãã©ãã«ãèµ·ãã¾ããããã«ã
}
# ç¾å¨æå»ã HH:MM:SS ã®å½¢ã§è¿ãã
sub hhmmss ( ) {
my @f = @{[localtime]}[5,4,3,2,1,0] ;
$f[0] += 1900 ;
$f[1] += 1 ;
return sprintf ( "%02u:%02u:%02u" , @f[3..5] ) ;
#return sprintf ( "%04u-%02u-%02u %02u:%02u:%02u" , @f ) ;
}
sub cyc_rep ( ) {
use FindBin '$Script' ;
$| = 1 ;
my $num = $. ;
my $diff = ' (+' . ( $num - $cyc_last_line ) . ')' if defined $cyc_last_line ;
$cyc_last_line = $num ;
$num =~ s/(?<=\d)(?=(\d\d\d)+($|\D))/,/g ; # 3æ¡æ¯ã«ã³ã³ãã§åºåã
$diff =~ s/(?<=\d)(?=(\d\d\d)+($|\D))/,/g if defined $diff ;
$diff //= '' ;
print STDERR GREEN $num , $diff , ":\t" , sprintf "%02d:%02d:%02d" , ( localtime )[2,1,0] ; # <-- æ¨æºåºåã«æ¸è¾¼ã¿
print STDERR "\t" , GREEN time - $time0 , " sec.\t($Script)" ;
chomp (my $line_tmp = $_ ) ;
print STDERR BLUE "\t Read Input:\t" , $line_tmp ;
$time0 = time ;
print STDERR "\n" ;
}
## ãã«ãã®æ±ã
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
Unix ã® wc -l ã®ä»£æ¿ãè¡æ°ãåºåããã
弿°ãªã©ã§æå®ããããã¡ã¤ã«ããæ¹è¡åºåãæåç¡ãã§çµäºãã¦ããå ´åã¯-1
ãåè¡æ«ã«è¿½å ã§åºåããããã ãã空æååã§æ¹è¡ãªãã®å ´åã¯-0ãåºåã«è¿½å ããã
ããã¯ãåå²ããããã¡ã¤ã«ã®åè¨è¡æ°ãè¨ç®ãããæã«ä½¿ããæ©è½ã§ããã
ãªããCtrl+C ãæ¼ä¸ãããå ´åãéä¸ã®ç¶æ
ã表示ãã¦ãå
ã«æ»ãã
1ç§ä»¥å
ã«åã³ãCtrl+C ãæ¼ä¸ãããå ´åã®ã¿ãããã°ã©ã ã¯åæ¢ããã
ãªãã·ã§ã³:
[è¡æ°ã®åºåã®æ°ã¨ãã¦ã®æ¸å¼]
-3 ; è¡æ°ã®åºåã«3æ¡æ¯ã«ã³ã³ããæ¿å
¥ããã
-d num ; è¡æ°ãåºåããåã®å¹
ãæå®ãããããã¦ãå³è©°ãã«ãã¦èªã¿ãããããã
[åºåããä»ã®æ
å ±ã¨è²]
-b : è²ãä»ããªã
-n : åå
¥åãå¦çããéã«ããã¡ã¤ã«åãæ¨æºå
¥åã®å¥ã表示ããªãã(Number only)
-s : ãã¡ã¤ã«åã¨è¡æ°ã¯è¡¨ç¤ºããããæå»æ
å ±ã¯åºããªãã(Simple)
-! ; åºåããããã¡ã«è²¯ããªãã
-\" num ; numç§ãã¨ã«ä½è¡ãèªã¿åã£ãããæ¨æºã¨ã©ã¼åºåã«åºåãããæªæå®ãªã10ç§ã0ãæå®ããã¨éåºåã
[å
¥åã®ä»æ¹ã®æå®]
-= : æåã®è¡ãè¨æ°å¯¾è±¡ã¨ããªãã
-r ; æ¹è¡æåã "\r\n" ã«å¤æ´ãã¨ã¯ã»ã«ããã¨ã¯ã¹ãã¼ãããæã«ä¾¿å©ã(æªæå®ãªãã"\n"ã)
-z : å
¥åã gzip å§ç¸®ã®å½¢å¼ã¨ãã¦å¦çããã
-g ; å
¥åã gzcat ã³ãã³ããå©ç¨ãã¦å¦çããã-z ããé«éã ããæ¨æºå
¥åã«ã¯ç¾ç¶ä½¿ããªãã
--help : ãã® $0 ã®ãã«ãã¡ãã»ã¼ã¸ãåºãã perldoc -t $0 | cat ã§ãã»ã¼åãã
--help opt : ãªãã·ã§ã³ã®ã¿ã®ãã«ããåºããopt以å¤ã§ã options ã¨å
é ã1æå以ä¸ä¸è´ããã°è¯ãã
ãã¹ã:
seq 10 | gzip -c | $0
# -z æå®ã§ãgzip å§ç¸®ãåãåããã試é¨ã
$0 <( yes )
# ä¸è¨ã®ã³ãã³ããå®è¡ãããCtrl-Cãç¶ãã¦2ç§ä»¥å
ã«æ¼ä¸ããã¨ãæ¢ã¾ãã
# yes | $0 ã ã¨ããã¾ããããªãã
# Ctrl-C ã®åãåãæ¹ãããã¤ãã®åã®ã³ãã³ãã¨
# ããã»ã¹ç½®æ <( ) ã¨ã§ç°ãªãããã
注æç¹:
* Unixã³ãã³ãã¯ãæå¾ã«æ¹è¡æåã§çµäºããªãè¡ã¯æ°ããªãã
ãã®ã³ãã³ã $0 ã¯ãã®ãããªè¡ãæ°ãããå¾ã£ã¦ããã®å ´åãæ°ã«éããåºãã
éçºä¸ã®ã¡ã¢:
* å
¨ä½ã®åè¨å¤ã«ããã¦ãæ¹è¡ã§çµãããªãã£ããã¡ã¤ã«ã®åæ°ã¨ãconcat ããå ´åã®å·®ã¯ã¾ãå¥ã®ãã¸ãã¯ã
è¦ããã-1 ã¾ã㯠-0 ãåºåããå¤ã®ãããã®åè¨ã¨å
±ã«åºãããã«ããå¿
è¦ãããã
=cut
( run in 2.161 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )