App-Bin4TSV
view release on metacpan or search on metacpan
This module "App::Bin4TSV" provides many useful Unix-like commands to handle
text data file mainly for tabular shape, especially for TSV format files.
The included commands are as follows.
...
...
...
Copyright (c) 2021 Toshiyuki SHIMONO. All rights reserved.
This program is free software; you can redistribute it and/or
lib/App/Bin4TSV.pm view on Meta::CPAN
our $DATE = '2021-05-28T02:55+09:00' ;
=encoding utf8
=head1 NAME
App::Bin4TSV
=head1 SYNOPSIS
This module provides dozens of useful Unix-like commands to handle tabular text files especially TSV files.
=head1 DESCRIPTION
The included commands are as follows.
B<alluniq>
B<backcolor>
B<boxmuller>
scripts/cat-n view on Meta::CPAN
}
close $FH ;
exit 0 ;
}
=encoding utf8
=head1
$0
Unixã®ã³ãã³ãã使ã£ã cat -n ã¨åãããã«ãåè¡ã®å
é ã«è¡çªå·ãä»å ããã
ãã ããä½è¨ãªç©ºç½æåãªã©ã¯å
¥ããªããè¡çªå·ã¨å
ã®å
¥åæååã®éã«ã¯
ã¿ãæåã®ã¿ãå
¥ãã
ãªããCtrl-C ãæ¼ä¸ãããã¨ãã«ãä½è¡ç®ãå¦çãã¦ããããæ¨æºã¨ã©ã¼åºåã«åºãã
ãªãã·ã§ã³:
-= ; å
é è¡ã®è¡çªå·ã = ã2è¡ç®ããè¡çªå·ã1ããå§ããã
-: ; è¡çªå·ã®ç´å¾ã«ã³ãã³æå(:) ãä»å ããã
-, str ; è¡çªå·ã¨ã®éã®åºåãæåã®æå®ãæªæå®ãªãã°ãã¿ãæåã
scripts/colchop view on Meta::CPAN
=encoding utf8
=head1
$0 -bg (ãã¤ãæ°)(,æãè¿ãã®æå¤§å¤)
$0 -ug (UTF-8ã®æåæ°)(,æãè¿ãã®æå¤§å¤)
$0 -vg (åè§æåå¹
)(,æãè¿ãã®æå¤§å¤)
ã¿ãæåãªã©ã§åºåãããåãã£ã¼ã«ãããæå®ãããå¹
ã®ã¿è¡¨ç¤ºããã
Unix/Linux ã®ãtabs ã³ãã³ãã§è¡¨ç¤ºè¨å®ãå¤ããªããè¦ãã®ãè¯ãã
ãã¥ã¼ã¢less ãèµ·åä¸ã« -x N(æ°) ã¨å
¥åãã¦Enter ãããã®è¯ãã
ãªãã·ã§ã³ :
-b : ãã¤ãæ°ã§è¨ç®ããã
-u : utf-8 ã¨ã¿ãªãã¦ãé·ããè¨ç®ãããããã§ãªããã°ãåç´ãªãã¤ãé·ã«ãªãã
-v : utf-8 ã®æåå¹
ã§é·ããè¨ç®ãã(åè§ã¯1ãå
¨è§ã¯2)ã(visual-width)
-g N1,N2 : N1ã¯ä½æåãã¤åãåºãããæªæå®ãªã 6ãN2ã¯æå¤§ä½ååãåºããã0ãªãç¡å¶éãæªæå®ãªã2ã
-h N ; å·¦ããNåã®ã»ã«ã¯ãæãè¿ãå¦çãããªãã<--
scripts/csel view on Meta::CPAN
- ç¯å²ãæå®ãããã¨ãã§ããããã¨ãã°ã-p 2..5 ã¨ããã¨2åç®ãã5åç®ã®ã¿è¡¨ç¤ºããã 5..2 ã¨ããã¨ãéé ã«ãªãã ".." means range.
éçºä¸ã®ã¡ã¢ :
* -i ã®æå®ã¯æ£è¦è¡¨ç¾ã¨è¦ãªãããããå
¥åã®splitã«ãåºåã®join ã«ãç¨ããã®ã§ã注æãå¿
è¦ã
* 弿°ã§æå®ã§ããåã«é¢ãã¦ãç¯å²æ¼ç® .. ã«å ã㦠/ ã§ä¸å®é·ã®é£ã³é£ã³ãå®ç¾©ã§ããããã«ãããã
* AWKã®ã³ãã³ããçæããããã«ããã
ãã®ããã°ã©ã ã«æ±ããããè¦ä»¶ (ãã¹ãã«ãå«ããã) :
* ååé«éã«åä½ãããã¨ãgawk ã¨åãç¨åº¦ãç®æ¨ã ã£ããcut ããã¯é«éã«ãããã£ããã
* cutããæ©ãããã®ãå³ãããã°ã åããã¡ã¤ã«ã Unix ã³ãã³ãsort ã®ååç¨åº¦ã§ãããã¨ã
* $0 -p -1 ã§ãã¡ãã¨æå¾ã®åã表示ãããã¨ã
* åæ°ãè¡æ¯ã«ç°ãªãå
¥åãã¼ã¿ã§ãããã¡ãã¨åä½ãããã¨ã
# ãã®ããã°ã©ã 㯠2016å¹´2æ9æ¥(ç«)ãã表形å¼ãã¼ã¿ã«å¯¾ããéå
·ä½ãã®ä¸ç°ã¨ãã¦ãä¸é寿ä¹ã使ãããã®ã§ããã
=cut
scripts/dirhier view on Meta::CPAN
=encoding utf8
=head1
$0 directory [directory]..
弿°ã§æå®ããããã£ã¬ã¯ããªãã¨ã«ãããç´ä¸ã®ãã¡ã¤ã«ã®æ°ã
2段éä¸ã®ãã¡ã¤ã«ã®æ°ã3段éã®ä¸ã®ãã¡ã¤ã«ã®æ°ã..ãæå®ãããä»»æã®æ°ä¸ã£ã段éã®
ãã£ã¬ã¯ããªã«ãããã¡ã¤ã«ã®æ°ãåããå®ã表示ããã
(夿°ã®ãã¼ã¿ãã¡ã¤ã«ããããUnix/Linuxã® ls ã³ãã³ãã§ããã¡ã¤ã«ä¸è¦§ã®åå¾ã«
æéããããç¶æ³ããããã¯ãtree ã³ãã³ããããç°¡æ½ãªæ
å ±ãæ¬²ããæã«å½¹ã«ç«ã¤ã)
ãªãã·ã§ã³ :
-b : åæ·±ãã®ãã¡ã¤ã«ã®ãã¤ããµã¤ãºã®åè¨ãä¸ããã(Byte sum)
-d : ãã£ã¬ã¯ããªã®åæ°ã®ã¿æ°ããã(Directory number is counted.)
-l : ã·ã³ããªãã¯ãªã³ã¯ããã©ãã(ç¡éåç
§ãå¼ãèµ·ããå¾ãã®ã§ãè¦æ³¨æã) (symblic Links are traced.)
-m num : æãæ½ãæ·±ããæå®ãããæªæå®ãªãã6ã (the Maximum depth)
-n : æ·±ãã ã³ãã³:ã®åã«è¡¨ç¤ºããã(explicitly shows the depth Number with :)
-q : çè²ãããªãã (no coloring. visually Quiet.)
scripts/gzpaste view on Meta::CPAN
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æ¡ã«ããã
-! ; åºåããããã¡ã«è²¯ããªãã
scripts/uniq-c view on Meta::CPAN
close $FH ;
exit 0 ;
}
=encoding utf8
=head1
$0
Unixã³ãã³ãã® uniq ã使ã£ã uniq -c ã®ä»£æ¿ã
åãå
¥åãé£ç¶ãã¦ä½åç¶ããç«ãåºåããã
å®è¡ä¸ã« Ctrl+Cãã¼ãæ¼ãããéä¸ã¾ã§ã®çµæã表示ããã
(æåã³ã¼ãã®åé¡ã§ uniq ããã¾ãæ©è½ããªãå ´åã使ããã)
ãªãã·ã§ã³ :
[å
¥åä¸ã®ãªãã·ã§ã³]
-, str : åæ°ã¨ããã«å¯¾å¿ããæååã®åºåãã str ã«å¤æ´ãæªæå®ãªãã¿ãæåã
-. num : åãè¡ãnumè¡ã«éãããã¨ã«è¡¨ç¤ºããã¦ãã«ã¦ã³ããé£ç¶åæ°ã«ãªã»ããã
scripts/updir view on Meta::CPAN
my $fn = scalar @files ;
#grep $_ = decode_utf8 quotemeta encode_utf8 $_ , @files if $o{q} ; # -q
my @files1 = splice @files , 0 , $o{g} ;
my @files2 = splice @files , - min ( $o{g}, scalar @files ) , $o{g} ;
#print "$dir\t$f1\t$f2\n" ;
return [ $dir , $fn , ! @files2 ? "@files1" : ! @files ? "@files1 @files2" : "@files1 .. @files2" ] ;
}
sub moveUp ( ) {
my $dir0 = getcwd ;
my $status = chdir '..' ; # <-- - ã·ã³ããªãã¯ãªã³ã¯ããã¯å§ããã¨ãUnixã®cd .. ã¨ç°ãªãã絶対ãã¹ãä¸ãã£ã¦ãã¾ãã
my $dir1 = getcwd ;
return undef if $dir0 eq $dir1 ;
return $dir1 ;
}
## ãã«ãã®æ±ã
sub VERSION_MESSAGE {}
sub HELP_MESSAGE {
use FindBin qw[ $Script ] ;
scripts/venn view on Meta::CPAN
-v 0 : åºåã®åè¡ã«ããã¦ãå³å´ã®2åã«ãååé¡ã®æååã¨ãã¦ã®æå°å¤ã¨æå¤§å¤ã¯åºåããªãã
-= : å
¥åã®åãã¡ã¤ã«ã«ããã¦ã1è¡ç®ãèªã¿é£ã°ãã
-1 : 1çªç®ã®ãã¡ã¤ã«ã®åè¡ããæ®ã(n-1)åã¨åã«ããããæ¯è¼ã
#-q : å¤ãã¯ãªã¼ãã¼ã·ã§ã³ã§å²ãã
-e perl_cmd_string ; åè¡ãchompããå¾ã®$_ã«ã¤ãã¦ãã©ãå å·¥ãããæå®ã-e 'substr $_,0,4' ãªã©ã
å©ç¨ä¾(å®é¨ä¾) :
cat somefile | venn
# somefile ã®è¡æ°ã¨ãç°ãªãè¡ã®å¤ã®åæ°ãåããã
venn <(seq 1 3) <(seq 3 5) <(seq 5 18)
# <( .. ) ã¯ããã»ã¹ç½®æãªã®ã§ãUnix-like ã®ã·ã§ã«ã§ãªãã¨åããªãå¯è½æ§ã¯ããã
venn -v0 <(saikoro) <(saikoro) <(saikoro)
# saikoro ã¯ãã®$0ãä½ã£ãèè
ããã®$0ã¨å
±ã«æä¾ãããå¥ã®ããã°ã©ã ã
éçºã¡ã¢:
* å
¥åãããã¡ã¤ã«åãåºåããããã«ãããã
* å
±éãã¦è¨æ°å¯¾è±¡ã¨ããªãå¤ã -#ã§æå®å¯è½ã¨ãããã
* æååã® min 㨠max ä»¥å¤ *ã* åºåã§ããããã«ãããã
=cut
scripts/wc-l view on Meta::CPAN
close $FH ;
exit 0 ;
}
=encoding utf8
=head1
$0
Unix ã® wc -l ã®ä»£æ¿ãè¡æ°ãåºåããã
弿°ãªã©ã§æå®ããããã¡ã¤ã«ããæ¹è¡åºåãæåç¡ãã§çµäºãã¦ããå ´åã¯-1
ãåè¡æ«ã«è¿½å ã§åºåããããã ãã空æååã§æ¹è¡ãªãã®å ´åã¯-0ãåºåã«è¿½å ããã
ããã¯ãåå²ããããã¡ã¤ã«ã®åè¨è¡æ°ãè¨ç®ãããæã«ä½¿ããæ©è½ã§ããã
ãªããCtrl+C ãæ¼ä¸ãããå ´åãéä¸ã®ç¶æ
ã表示ãã¦ãå
ã«æ»ãã
1ç§ä»¥å
ã«åã³ãCtrl+C ãæ¼ä¸ãããå ´åã®ã¿ãããã°ã©ã ã¯åæ¢ããã
ãªãã·ã§ã³:
scripts/wc-l view on Meta::CPAN
ãã¹ã:
seq 10 | gzip -c | $0
# -z æå®ã§ãgzip å§ç¸®ãåãåããã試é¨ã
$0 <( yes )
# ä¸è¨ã®ã³ãã³ããå®è¡ãããCtrl-Cãç¶ãã¦2ç§ä»¥å
ã«æ¼ä¸ããã¨ãæ¢ã¾ãã
# yes | $0 ã ã¨ããã¾ããããªãã
# Ctrl-C ã®åãåãæ¹ãããã¤ãã®åã®ã³ãã³ãã¨
# ããã»ã¹ç½®æ <( ) ã¨ã§ç°ãªãããã
注æç¹:
* Unixã³ãã³ãã¯ãæå¾ã«æ¹è¡æåã§çµäºããªãè¡ã¯æ°ããªãã
ãã®ã³ãã³ã $0 ã¯ãã®ãããªè¡ãæ°ãããå¾ã£ã¦ããã®å ´åãæ°ã«éããåºãã
éçºä¸ã®ã¡ã¢:
* å
¨ä½ã®åè¨å¤ã«ããã¦ãæ¹è¡ã§çµãããªãã£ããã¡ã¤ã«ã®åæ°ã¨ãconcat ããå ´åã®å·®ã¯ã¾ãå¥ã®ãã¸ãã¯ã
è¦ããã-1 ã¾ã㯠-0 ãåºåããå¤ã®ãããã®åè¨ã¨å
±ã«åºãããã«ããå¿
è¦ãããã
=cut
( run in 3.826 seconds using v1.01-cache-2.11-cpan-39bf76dae61 )