App-Bin4TSV-6
view release on metacpan or search on metacpan
say join "\t", "cardi.", (map {"file$_"} 1 .. $N) , $optv0 ? () : ('strmin','strmax') ;
my @B = keys %BfqA ;
@B = sort { $BfqA1{$a} cmp $BfqA1{$b} } @B unless $optv0 ;
for my $B ( @B ) {
my @out = map { $_ // 0 } map { $BfqE { $B } [$_] } 0 .. $N -1 ;
do { $_ = "$o{q}$_$o{q}" for $BfqA1{$B} , $BfqA2{$B} } unless $optv0 || $optq0 ; # å¤ãããã°å²ã
$BfqA2{$B} = '' if $BfqA1{$B} eq $BfqA2{$B} ; # å¤ä¸å®ãªã空æåå夿(é¤å»ã¯ããªããTSVã¯åæ°ä¸å®ã¨ãã¹ã)
push @out , ($BfqA1{$B} , $BfqA2{$B}) if ! $optv0 ;
say join "\t" , qq[$BfqA{$B}.] , @out ; # æåã®åã¯ããªãªããä»å ãã(æ°ã§ãããã¨ä¿ã¡ã¤ã¤ä»ã¨è¦èªèå¥å®¹æã«)
}
}
sub secondary_info
{
my $procsec = tv_interval ${ dt_start } ; #time - $time0 ; # ãã®ããã°ã©ã ã®å¦çã«ããã£ãç§æ°ãæ¯è¼ãã2åã®æå»ã¯ç§åä½ãªã®ã§ã±1ç§æªæºã®èª¤å·®ã¯çºçããã
* d3 = sub { $_[0] =~ s/(?<=\d)(?=(\d\d\d)+($|\D))/,/gr } ;
print STDERR BOLD ITALIC DARK CYAN & d3 ( $. ) . " lines processed in total. $N files. " ;
print STDERR BOLD ITALIC DARK CYAN "($Script ; " . $procsec . " sec.)\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 ãã¡ã¤ã«åã®ä¸¦ã³
å
¥å: æ¹è¡åºåãã§å¤ã®æ¸ãè¾¼ã¾ãã1åã¾ãã¯ãã以ä¸ã®ãã¡ã¤ã«
åºå:
ãã¡ã¤ã«ã n åå
¥åã¨ãã¦ä¸ããããå ´åããããnåã®ãã¡ã¤ã«ã«
åºç¾ããåè¡ã®å¤ã«ã¤ãã¦ããããã©ã®ãã¡ã¤ã«ã«åºç¾ãããã«å¿ãã¦ãæå¤§
2 ** n -1 éãã«åé¡ããååé¡(åºåã®åè¡(縦æ¹å)ã«ç¸å½)ã«ããã¦
ç°ãªãå¤ãä½éãåºç¾ããã(横æ¹åã®ç¬¬1åç®)ããããã®å¤ãiçªç®ã®
ãã¡ã¤ã«ã«ä½ååºç¾ããã(横æ¹åã®ç¬¬i+1åç®)ã®æ°ãåºåããã
ãªãã·ã§ã³:
-= : å
¥åã®åãã¡ã¤ã«ã«ããã¦ã1è¡ç®ãèªã¿é£ã°ãã
-1 : 1çªç®ã®ãã¡ã¤ã«ã®åè¡ããæ®ã(n-1)åã¨åã«ããããæ¯è¼ã
-e perl_cmd_string ; åè¡ãchompããå¾ã®$_ã«ã¤ãã¦ãã©ãå å·¥ãããæå®ã-e 'substr $_,0,4' ãªã©ã
-q 0 : å¤ãã¯ãªã¼ãã¼ã·ã§ã³ã§å²ã¾ãªãã
-q STR; 0以å¤ã®å¤ãæå®ããããããã®æåã§å²ãã"'" ã'"'ã¾ãã¯å¿
è¦ã«å¿ãã¨ã¹ã±ã¼ããã¦æå®ããã
-v 0 : åºåã®åè¡ã«ããã¦ãå³å´ã®2åã«ãååé¡ã®æååã¨ãã¦ã®æå°å¤ã¨æå¤§å¤ã¯åºåããªãã
-R 0 ; è¡æ«ã®\rãé¤å»ããªã(Windowså½¢å¼ã®æ¹è¡ã«é常æã¯å¯¾å¦ãããã-R0ã«ãããããè§£é¤ã)
å©ç¨ä¾(å®é¨ä¾) :
cat somefile | venn
# somefile ã®è¡æ°ã¨ãç°ãªãè¡ã®å¤ã®åæ°ãåããã
venn <(seq 1 3) <(seq 3 5) <(seq 5 18)
# <( .. ) ã¯ããã»ã¹ç½®æãªã®ã§ãUnix-like ã®ã·ã§ã«ã§ãªãã¨åããªãå¯è½æ§ã¯ããã
venn -v0 <(saikoro) <(saikoro) <(saikoro)
# saikoro ã¯ãã®$0ãä½ã£ãèè
ããã®$0ã¨å
±ã«æä¾ãããå¥ã®ããã°ã©ã ã
éçºã¡ã¢:
* å
¥åãããã¡ã¤ã«åãåºåããããã«ãããã(ç¾ç¶file1, file2..ã®ãããªè¡¨ç¤ºã®ã¿)
* å
±éãã¦è¨æ°å¯¾è±¡ã¨ããªãå¤ã -#ã§æå®å¯è½ã¨ãããã
* æååã® min 㨠max ä»¥å¤ *ã* åºåã§ããããã«ãããã
* -1 æå®æã®å®è£
ã¯ååã§ã¯ãªãã
=cut
( run in 2.259 seconds using v1.01-cache-2.11-cpan-64ef6c95b5d )