- 衚圢åŒã®ããã¹ãããŒã¿ãã¡ã€ã«ãç¹ã«TSV圢åŒã®ãã¡ã€ã«ãæ±ãããã®ã³ãã³ã矀ããã³ãã®çºã«çºçããåšèŸºçãªæäœãè¡ãããã®ã³ãã³ã矀ã§ããã TSVãšã¯Tab-Separated Valuesã§ããã
- åã³ãã³ãã¯å®äœã¯1åã®Perlèšèªã§æžãããã倧éæã«50è¡ã300è¡çšåºŠã®ããã°ã©ã ã§ãããçŸåšãçŽ65åã®ã³ãã³ããåé²ãããŠããã
- å©çšã«ã¯ãUnixãLinuxãã·ã§ã«ã®äœ¿ãæ¹ã®ç¥èãå¿ èŠã§ãããPerlèšèªããã°ã©ãã³ã°ã®ç¥èã¯å¿ èŠãšããªãããã ããäœãäžå ·åããã£ãå Žåã«Perlã®ç¥èãããããšã¯åœ¹ã«ç«ã€ã§ãããããŸãåé²ããããã°ã©ã ã®æ¹è¯ææ¡ãªã©ã¯Perlã®ç¥èã¯å¿ èŠã§ããã
ã€ã³ã¹ããŒã«æ¹æ³ ã¯ã次ã®2åã®ããããã®æ¹æ³ã§ããã
cpanm https://github.com/tulamili/App-Bin4TSV.git
ãããã¯
cpanm App::Bin4TSV
## cpanm -v App::Bin4TSV ãŸã㯠cpanm --verbose App::Bin4TSV ã§ã€ã³ã¹ããŒã«éäžã®è©³çŽ°ãåããã
äžèšã¯ã30ç§çšåºŠä»¥å
ã§å®äºããã§ããããApp::Bin4TSVã¯CPANã¢ãžã¥ãŒã«ã§ãããcpanm
ã³ãã³ãã®cpan
ã䜿ã£ãŠãè¯ãããããã ãšæºåã«æéããããã§ãããã
äžèšã®ã€ã³ã¹ããŒã«ããåŸã§ãã¢ã³ã€ã³ã¹ããŒã«ããå Žå(ãã®ãœãããŠã§ã¢ã®å©çšãä»åŸããªãå Žå)ã«ã¯ãäžèšãè¡ãã
cpanm -U App::Bin4TSV
äžèšã«ãããé€å»ãããã¡ã€ã«ã®äžèŠ§ã衚瀺ãããããã®æã«yããŒãæŒäžãããšãã¢ã³ã€ã³ã¹ããŒã«ãå®äºããã
ãã®ç¯ã§ã¯åã³ãã³ãã®ç°¡æœãªèª¬æãäžããããšãç®çãšããããã ãããã®ããã«ããã®ç¯ã®ååã§æ³šææžããäžãããã®åŸã§å ·äœçã«åã³ãã³ãã®èª¬æãçããŸãšããã(ã³ãã³ãã®å®éã®å®è¡çµæã¯ãã®ç¯ã«ã¯è²·ããŠã¯ããªããå®éã«å®è¡ããã®ããç解ããããã§ãããã)
ãã®èª¬æã¯ãã®ã³ãã³ãã®ä»£è¡šçãªæ©èœã®èª¬æã®ã¿ã«çãŸããäžèšã®ãããªé¢ä¿ãããšæãããæ©èœã¯èª¬æãçç¥ããŠããã
- App::Bin4TSVã¯2021幎5æ29æ¥çŸåš65åã®ã³ãã³ããåé²ãããŠãããããã®ããŒãžã§ã¯ãã®å šãŠã説æããŠããªãã
- App::Bin4TSVã¯8åã®å¥ã®CPANã¢ãžã¥ãŒã«ãæã€ã³ãã³ãã2021幎5æ29æ¥ã«ã³ããŒãããŠäœæããŠããããããã®ã¢ãžã¥ãŒã«ã¯åãã³ãã³ããéè€ããŠããå ŽåãããããŸãããã€ãã®ã¢ãžã¥ãŒã«ã®ã³ãã³ãã«ã€ããŠã¯è§£èª¬ã¯çç¥ããŠããå Žåããã(ããŒã¿ãã¡ã€ã«ã®ããã£ã¬ã¯ããªé 眮ã®æ§åãç解ããããã®ã³ãã³ã矀ã¯ãæ¬ãœãããŠã§ã¢ã«åé²ããŠãããããã®ããŒãžã§è§£èª¬ããŠããªã)ã
- ããŒã¿ã¯TSV圢åŒãäž»ã«åæãšããŠããã®ã§ãåå(åå±æ§)ã¯ã¿ãæåã§åºåãããŠãããšãåæã§ããããã«ç€ºãããŠããããå®éã«ã¯ãã¿ãæå以å€ã®ã³ã³ããªã©ã®ä»ã®æåãåºåãæåãšããŠäœ¿ããããšã(ã³ãã³ãã§ã¯
-i "\t"
ã-i ,
ã®ããã«ããã€ãã¹æåã§å§ãŸãã³ãã³ãã¹ã€ããã§å¶åŸ¡ãå¯èœã§ããã) - AâBãžã®å€æãäž»æ©èœã®ã³ãã³ãã«å¯ŸããŠããã®ã³ãã³ããæã€BâAãžã®éå€æã®æ©èœã
-
äžèšã®ã³ãã³ãã¯ãå®è£ ãååã«æŽç·ŽãããŠãããšã¯éããªããããã€ãã®ã³ãã³ãã¯çŽ°ããã«å°æ©èœãå®è£ ãããŠããããããã³ãã³ãã¯æ©èœäžè¶³ãªå Žåããã(âŒã§äžèšã§ç€ºã)ããèšèšãäžååãªå Žåããã(âã§ç€ºã)ã
-
åã³ãã³ãã¯ãæ±çšæ§ãåå©çšæ§ã¯é«ããäœãã«ãªã£ãŠãããããããååã«æãããŠãããšã¯éããªãã
-
è¡šãšããŒãã«ã¯åãæå³ã§ãããäžèšã§TSV圢åŒã®ãã¡ã€ã«ã®ããŒã¿ã¯ãæé»ã«è¡šã§ããããšãããä»®å®ãããŠããã
-
è¡ã¯ããããã暪é·ã®èŠçŽ ãã瞊æ¹åã«éãŸã£ãŠè¡šãæ§æãããåè¡ã¯ã¬ã³ãŒããšãåŒã°ãããå±æ§ãšãåŒã°ããã
-
åã¯ããããã瞊é·ã®èŠçŽ ãã暪æ¹åã«éãŸã£ãŠè¡šãæ§æãããååã¯ã«ã©ã ãšãåŒã°ããã
-
è¡šã«ãããŠãè¡çªå·ãšåçªå·ã®äž¡æ¹ãæå®ãããã€ãŸããè¡ãšåãæå®ããããšãå€ãå®ãŸããåºçŸå€ãšããå Žåãããã
-
TSVãã¡ã€ã«ã®å é ã®è¡(ã€ãŸã1è¡ç®)ã¯ããŒã¿ã®å€ã®äžŠã³ã§ã¯ãªããŠãåã®åå(åå)ã®äžŠã³ã§ããããšãããã
-
ãªãã·ã§ã³ã¹ã€ãã ã®ããšãåã«ãªãã·ã§ã³ãšåŒã¶ããšããããŸããUnixã®ã·ã§ã«ã³ãã³ãã§ãã€ãã¹(-)æåã«ç¶ããŠãè±æ°åèšå·ã®ãªãã·ã§ã³ãæå®ããŠãããã«ãã©ã¡ãŒã¿ãŒãæå®ããããšããããŸãã(Perlããã°ã©ã å ã®
use Getopt::Std
ã§ãã®æ©èœã䜿ããŸããã)
æ¬ãœãããŠã§ã¢ã§ã¯ããå
é è¡ãååã®äžŠã³ã§ããå Žåãã«åŠçãããããããã«ãåã³ãã³ãã¯ãå
±éãããªãã·ã§ã³ã¹ã€ãã-=
ã
(ãã€ãã¹ã®çŽåŸã«ã€ã³ãŒã«èšå·)ã§ãã®å Žåã«å¯ŸåŠã§ããããã«ãããŠããã
ãããããæ¬ãœãããŠã§ã¢(ã¢ãžã¥ãŒã«)ãæäŸããã³ãã³ãã®å ·äœçãªèª¬æã«ãªããéèŠãªã³ãã³ãã¯å€ªåã§è¡šããã䜿ãããããæŽç·ŽåºŠã«ã¯ãã©ããããããååãªæ°Žæºã«ç¡ããã®ã¯âŒãâã®èšå·ãä»ãããæ¬ãœãããŠã§ã¢ãæäŸããã³ãã³ãã®ãã¡ãçŽ25åã®ã³ãã³ãã®ã¿ã解説ã®å¯Ÿè±¡ãšãªã£ãŠããã
æ¬ãœãããŠã§ã¢ãæäŸããã³ãã³ã矀ã¯å€§ãŸãã«8åã«åé¡ã§ããããããã¯ããããã察å¿ããCPANã¢ãžã¥ãŒã«ã«åé²ãããŠããããã®åé¡ã«åºã¥ããŠãå°ããªç¯ã«åããŠã解説ããã
ãã®ç¯ã®ã³ãã³ãã¯Bin::TSV::Convã«ãåé²ãããŠããã
-
csv2tsv : CSV圢åŒ(ããã«ã¯ã©ãŒãå²ã¿ã®å Žåã察åŠ)ãTSV圢åŒã«å€æã
-
xlsx2tsv (âŒâŒ) : Excelãã¡ã€ã«ãTSV圢åŒã«å€æ
-
mtranspose : ãè¡åã®è»¢çœ®ã(âæ°åŠçšèª)ãTSV圢åŒã®ããŒãã«ã«å¯ŸããŠãè¡æ¹åãšåæ¹åãå転ããã
-
csel : AWKããã容æã«åã®æäœãã§ãããŠãŒãã£ãªãã£(æå®ããå矀ãã-pã§è¡šç€ºã-dã§æå¶ã-hã§å é ã«ç§»åã-tã§æ«å°Ÿã«ç§»å; -=ã§ååã§ãããã®æäœãæå®)
-
join2 (âŒ): 2åã®ããŒãã«(TSVãã¡ã€ã«)ãjoinãããUnixã®joinããã³SQLã®joinãšäŒŒãæ§ãªæäœã§ããã
ãã®ç¯ã®ã³ãã³ãã¯Bin::TSV::Utilã«ãåé²ãããŠããã
-
colgrep (âŒâ): grep (æååæ€çŽ¢)ãæå®ããåã«å¯ŸããŠè¡ãã
-
colsummary : ã²ãšã€ã®TSVãã¡ã€ã«ãããŒãã«(è¡š)ãšèŠãªããŠãå šåã®ããããã«å¯ŸããŠã(1)ç°ãªãåºçŸå€ã®æ°(2)å¹³åå€(3)åºçŸå€ã®ç¯å²(æå°ãšæ倧ãªã©)(4)é »åºããå€(äžäœæ°å)
-
colchop (âŒ): lessã§TSVãã¡ã€ã«ãé²èŠ§ãããã«ããããšãã°å é è¡ã«åºçŸããå€ãé·ãããŠãè¡šãšããŠç»é¢ã®è¡šç€ºãèŠã«ããå Žåãããããã®å Žåã«ãé·ãããå€ãæå®ããé·ãã§æããããããã«ããããšãã§ããã
-
colpairs (âŒâ) : ããè¡šã®ä»»æã®2åã®çµåãã«ã€ããŠã®ãããããæçšãªçµ±èšæ å ±ãæœåºããã察æ¯ããŠãcolsummaryã¯ãåååäœã°ãã°ãã®æ å ±ããåºåããªãã
-
collen : ååã®ãé·ãã«ã€ããŠã®æ å ±ãæœåºãããããçšéã«ãã£ãŠã¯é »ç¹ã«å©çšããããç¥ããªãã
-
keyvalues : 2å以äžã®ããŒã¿ã«å¯ŸããŠãå é å(æãå·ŠåŽã®å)ãããŒãšèŠãªãæ®ãã®åãããªã¥ãŒãšèŠãªããŠãå šãŠã®ç°ãªãããŒã®åºçŸå€ã«å¯ŸããŠãäœåã®ç°ãªãããªã¥ãŒå€ãåºçŸããããè¡šããåãããŒå€ã§ç°ãªãããªã¥ãŒãåºçŸããŠããªããæ€ç¥ããã®ã«ã䟿å©ãããŒãšããªã¥ãŒãã©ã®åã§åããã«ã€ããŠãããªãã·ã§ã³ã§æå®å¯èœã
-
kvcmp : 2åã®TSVãã¡ã€ã«ã«å¯ŸããŠãããŒãšããªã¥ãŒã®é¢ä¿(keyvaluesãåç §ãã)ããçãããåŠããå€å®ãããTSVãã¡ã€ã«ã«æ ŒçŽãããè¡šã¯è¡ã®é çªã«æå³ãç¡ãããšãããã®ã§ããã®å Žåã«ã2åã®TSVãã¡ã€ã«ã®ããããã®è¡šãåãæå³ãæã€ãåŠããå€å®ããããã«çšããã
-
joinn : 2åãŸãã¯3å以äžã®TSVãã¡ã€ã«ã«å¯ŸããŠãåãããŒã®å€ãç°ãªããã¡ã€ã«ã«ãããŠã©ããªããªã¥ãŒã®å€ã«ãªã£ãŠãããããè¡åç¶ã«åºåããã
ãã®ç¯ã®ã³ãã³ãã¯Bin::Data::1Dã«ãåé²ãããŠããã
-
freq : åè¡ã®å€ã®é »åºŠè¡šãåºåãã·ã§ã«èžã®
sort | uniq -c
ãšäŒŒãæ©èœã§ããããåºåè¡šã®åè¡ã®åºåé åºã®æå®ã环ç©åã®è¡šç€ºãªã©ããã现ãããªå°æ©èœãæèŒããŠããŠããªãã·ã§ã³ã¹ã€ããã§èªç±èªåšã«æå®ãå¯èœã -
expskip : 1, 10, 100, 1000è¡ç®ã衚瀺ããã ããæåã®2è¡ãšæåŸã®2è¡ã衚瀺ãææ°é¢æ°çã«è¡ãèªã¿é£ã°ãããã©ã®ããã«ãããã¯ããªãã·ã§ã³ã§æå®ãããããåºæ¥ãã
-
alluniq (â) : åè¡ã®åºçŸå€ãå šãŠç°ãªãããããã§ç¡ãå Žåã¯è€æ°ååºçŸããå€ã¯ã©ã®ãããªãã®ããã£ãããåããå®ã衚瀺ããã(colsummaryããé«éã)
-
digitdemog (âŒ) : äœæ¡ç®ã«ã©ããªæåãåºçŸãããã衚瀺ã(ãŸãå šç¶å¥ã®æ©èœãšããŠãåè¡ã®æååé·ããšã«ãæååã®æå°ãšæ倧ã®å€ãæŽçããŠåºåã) å€ã®æžåŒã芳å¯ããã®ã«æçšã
-
chars2code : åè¡ããšã«ãåæåã®æå笊å·ããè¡ããšã«æŽçããŠåºåããããããããªãªãã·ã§ã³ãããUnicodeã®ç¬Šå·äœçœ®ãåºåãã(ãããâu+3042ãªã©)ã(Unixã®ãã³ããªã¹ããåºåãããããª
od -tax1
ããã¯é¥ãã«äŸ¿å©ã§ããããå šè§ãã€ãã¹(â)ãªã®ããé·é³èšå·(ãŒ)ãªã®ããªã©ã®åºå¥ãããããã) -
lminusl : 2åã®ãã¡ã€ã«A,Bã«å¯ŸããŠ
lminusl A B
ã«ãããAã«ååšããŠBã«ååšããªãè¡ãåºåããã(å·®å) -
venn : Nåãã¡ã€ã«ã«å¯ŸããŠãåè¡ãã©ã®ãã¡ã€ã«ã«çŸããã(æ倧2^N-1éããã€ãŸããæ倧2Ꮊ-1éã)ã®ãã¿ãŒã³ããã³å³ã®ãããªæŠå¿µã§åããå®ã衚瀺ããã
ãã®ç¯ã®ã³ãã³ãã¯Bin::Text::Color::Plusã«ãåé²ãããŠããã
-
colorplus : æ°å€ã«3æ¡ããšã«è²ãä»ãããã衚圢åŒã®ããŒã¿ã5åããšã«èæ¯ãéãšé»ã§äº€ä»£ãããŠè¡šç€ºãããããšã§ãããŒã¿ã®æå³ãèªã¿åããããããã
colorplus -0
ã§çè²ã解é€ãã(æ®éã®ããã¹ãã«ãªã)ã -
reisistorcc : é»æ°æµæåšã®ã«ã©ãŒã³ãŒããåèã«ããçè²ãæ°å€ã«å¯ŸããŠè¡ãã
-
backcolor (âŒ) : å€æ°ã®æ°å€ã®ã¿ã®æ å ±ã«å¯ŸããŠãèæ¯ã«6段éã§éãæ¿ãã®éè²ã§çè²ããŠãæå³ãåãããããããã
(äžèš3åã®ã³ãã³ãã¯ãå šãŠ1åã®ã³ãã³ãcolorplusã«æ©èœãçµ±åããããšã¯æ€èšäžã)
ãã®ç¯ã®ã³ãã³ãã¯Bin::Gen::Randã«ãåé²ãããŠããã
äžèšã®ã³ãã³ãã«ãããå®éšçšã®ããŒã¿ãçæãå¯èœãšãªãã
-
saikoro : 1ãã6ãŸã§ã®æŽæ°ã®ä¹±æ°ãåºåã-g ãªãã·ã§ã³ã§TSV圢åŒã®è¡åã§ãåºåãããšãã°
saikoro -g3,2
ã§3è¡2åã®ä¹±æ°è¡åã«ãªãã -s ã§ã·ãŒãã®åºå®ãå¯èœã -
boxmuller : ããã¯ã¹ïŒãã¥ã©ãŒæ³ã§ã¬ãŠã¹ä¹±æ°ãçæã
-
ãã³ãã³ãåã®è¡çªãã«ç±æ¥ããäžå ·åã¯æ³å®ãããã(App::Bin4TSVã®ã€ã³ã¹ããŒã«ã«ããä»ã®ã³ãã³ãã䜿ããªããªããããã³App::Bin4TSVã®ã¢ã³ã€ã³ã¹ããŒã«ã«ããä»ã®ã¢ãžã¥ãŒã«ãã€ã³ã¹ããŒã«ããã¯ãã®å®è¡ãã¡ã€ã«ãæ¶ãããŠããŸããªã©)ã
-
æ¬ãœãããŠã§ã¢ãæäŸãã
csv2tsv
ã«ã€ããŠãæ¬ææžã®äœæè ãããã10äžè¡ãããã®å€§ããªCSVããŒã¿(éäžã«æ¹è¡æåã®å€ãªã©å«ã)ã®å€æã«ã€ããŠãå€æãéäžã§ããŸããããªããŠãçµå±ããã®ããŒã¿ã2åã«åããŠTSVã«å€æããããšãããããšããããText::CSV_XSã«ç±æ¥ãããã°ã®å¯èœæ§ãèããŠãããããŸã ããã¯èª¿ã¹ãŠããªãã
- æ¬ãœããã¯ãæ¢åã®Unixã³ãã³ããšãã®ã·ã§ã«èžãšçµã¿ããããŠäœ¿ãããšãæ³å®ãããŠããããã ããåäœã§ãããçšåºŠäœ¿ãããšã¯ã§ããã§ãããã
- æ¬ãœããã¯ãOECDéå çåœã®æ¿åºããå€ãã·ã¹ãã ãæŽæ°ããŠããªã倧äŒæ¥ã®ããŒã¿ã»ãã¥ãªãã£ã«ãŒã å
ã§ã䜿ããæ§ã«ããããšãæ³å®ããŠããã
(ãããã£ãŠ5幎ãªãã10幎çšåºŠçšåºŠå€ãã·ã¹ãã ã§äœ¿ããããã«
use 5.014
ã®å®£èšãåããã°ã©ã ã§ãããŠããã) -ã(ããã§èšãããããªã倧ããªæµãã ãã§ãªããŠã掟ççã«çºçããã§ãããå°ããªæåããçãªäœæ¥ã§ã䜿ããæ§ã«ãæ¢åã®Unixã³ãã³ãã«ãªã ã³ãã³ããæ¬ãœãããŠã§ã¢ã®åé²ããããã«ããŠããã)
(ãããã£ãŠ5幎ãªãã10幎çšåºŠçšåºŠå€ãã·ã¹ãã ã§äœ¿ããããã« use 5.014
ã®å®£èšãåããã°ã©ã ã§ãããŠããã)
##ãæ³å®ãããŠããæµã
衚圢åŒã®ããŒã¿ãçšæãããå Žåã«ãäžèšã®æ§ãªããšãè¿ éã«æžãŸãããšã§ãããã«æ¬æ ŒçãªããŒã¿åæãæ©æ¢°åŠç¿ãªã©ã®é«åºŠãªåŠçã容æã«ãããã æåã«ããŒã¿ã«äžåãããå Žåã«ãããè¿ éã«ææ¡ããããšãã§ããã§ãããã
- ããŒã¿ãåãåã
- ãã¡ã€ã«çŸ€ãã©ã®ããã«ãã£ã¬ã¯ããªã«é 眮ãããŠãããç解ãã
- åããŒã¿ãã¡ã€ã«ã®æŠèŠãææ¡ããã
expskip
ã§åãã¡ã€ã«ã®æåããæåŸãŸã§ææ¡ãããalluniq
ã§åã¬ã³ãŒãã«éè€ããªããææ¡ãããcolsummary
ã§ååã®æ§åã詳ããææ¡ããŠãè¡šãšããŠã®æå³ãããç解ãããç°åžžå€ãç¹å¥å€ãããææ¡åºæ¥ãã§ãããã(æåã«éèŠãªã¹ããããšãªãã§ãããã)digitdemog
ã§ååã®å ·äœçãªæžåŒãªã©ããã£ãšææ¡åºæ¥ãã§ããããcolpairs
ã§åéã®é¢ä¿ãææ¡ããã- åããŒã¿ã«äžå
·åãç¡ããææ¡ããã
crosstable
ã§éèŠãª2åã®çµåãã§ã¯ãã¹è¡šãäœæããŠãç©Žãç¡ããããªã©ã§ææ¡åºæ¥ãã
- ããŒã¿ãã¡ã€ã«éã®é¢ä¿ãææ¡ããã
- è€æ°ã®ãã¡ã€ã«ã®é¢ä¿ã
join2
ãjoinn
ãããã³ãcsel
ãšvenn
ãçµã¿ããããŠææ¡ããã
- è€æ°ã®ãã¡ã€ã«ã®é¢ä¿ã
- è€æ°ã®ãã°ãã¡ã€ã«ã«å¯ŸããŠãç¹å®ã®ãŠãŒã¶ãŒãã©ãããå±¥æŽãæ®ããããææ¡ããã
- â» ãã ããã®ç®è«èŠãå®è¡ããã³ãã³ãã¯æªèšèšã»æªå®è£ ã§ããã
çŸç¶ãäžè¬ã«ããŒã¿åæã¯ãããããã®åŠçãè€éã«ãªããã¡ã§ãã©ãã§äžå ·åããçºçãããã®ãåçŸæ§ã確ä¿ããã®ããéåžžã«å°é£ã ãš æãããããäžèšã®ã³ãã³ãããããã¯ããã®ãããªã³ãã³ãã®éçºã®å»¶é·äžã«ããã®å°é£ãã解決ã§ãããšæåŸ ã§ããã ããšãã°ãçŸç¶ãã²ãšã€ã®ããŒãã«(è¡š)ã«å¯Ÿããæ©æ¢°åŠç¿ã®æ§ã ãªææ³ã¯éçºãã䜿ãããŠãããã®ããã®ããŒãã«ã2åã«ãªã£ãé端æ¥ã« é£ãããªããå®éã«ã¯ããã®ãããªããŒãã«ãäœåãäžãããããããŠãããããã«èšããšãå€ãã®çµç¹ãä¿ç®¡ããããŒã¿ã¯ã1ã€ã®ããŒãã«ã§ã æ°åã®åãå«ãŸããŠããããšã§ãäžäœã©ããéèŠã§ãã©ããããã§ãªãã®ããææ¡ããŠãããããªå€æãããã®ãå°é£ã§ãããšèããããã
äžèšã®æ§ãªæµã(1ã5)ãæéããå®çŸããæ段ãããŸã確ç«ããããšã§ãäžã®äžã®ãããããªããŒã¿åŠçãããŒã¿åæã®åé¡ã解決ããã§ãããã
ãã®ãããªæµãã«ã€ããŠãåèãšãªãè³æãšããŠã¯ã次ã®2ç¹ãäžããããã ãããã¯ãæ¬ãœãããŠã§ã¢ã®Unixã³ãã³ãæ¹åŒã§ã¯ãªããŠãSQLã®ããŒã¿ããŒã¹ã«ãããããŒã¿ãããã¡ã€ãªã³ã°ã®èãæ¹ãšããŠãäžèšã®èãæ¹ãè¡šãããšãæ¬ææžã®äœæè ãéå»ã«è©Šã¿ããã®ã§ããã
- IEEE Big Data 2017ã§ã®çºè¡š
- SQLâœâŸå✣æåšã«ãã ç°¡æœãã€æŽç·ŽåºŠã®âŸŒã Data Profilingã®è©Šã¿
- ã³ãã³ã矀ã®æäŸããæ©èœã¯ãŸã ååã§ã¯ãªãã
- è€æ°ã®ãã°ãã¡ã€ã«ã§åäžãŠãŒã¶ãŒãã©ãããå±¥æŽãæ®ãããææ¡ããããä»çµã¿ããªãã
- ãã¹ããäœãããããšãç¡ãã
- ã³ãã³ãéã§çµ±äžãã¹ãããšããŸã æ®ã£ãŠããã
- ããã€ãã®ã³ãã³ãã¯äžã€ã«çµ±åãã¹ãã§ããã
- ããã€ãã®ã³ãã³ãã¯æ©èœããã©ãã¹ãããç¥ããªãã
- 芪å䟿å©ãšãã芳ç¹ã§ãæäŸããã³ãã³ãã§å·®ãããã
- èšç®äžã«äœ¿ã£ãã¡ã¢ãªã®éã2次æ å ±ãšããŠåºåããŠããªãã
- çè²ããŠæšæºãšã©ãŒåºåã«åºã2次çãªæ å ±ãäžååãªå Žåãããã
- perl -T ã®ãããªtaint察çãå¯èœãªã®ã«äžååãªã³ãã³ããããã
- ãã«ãã®æç« ã¯æ¥æ¬èªãäž»ã§ãããäžçã§äœ¿ãããããã«ã¯è±æã®çšæãå¿ èŠã
- --help ã§è¡šç€ºããããã«ãã®æç« ãšåãããã«ã¯ãmanãšperldocã§åäœããªãã
- Ctrl+Cã§å²ã蟌ã¿ã·ã°ãã«ãéããšæå³äžæã«èŠããåäœãããã(Ctrl+Zã䜿ã£ãŠå¯ŸåŠ)ã
- CPANããã³Unix/Linuxã³ãã³ãã§ã³ãã³ãåã®è¡çªãé²ãä»çµã¿ããªããCPANã§ã¯ã¢ãžã¥ãŒã«åã®è¡çªã¯èµ·ããªãä»çµã¿ã«ãªã£ãŠããããã³ãã³ãåã®è¡çªã®èµ·ãã«ããããŸãä»çµã¿ãææ¡ãããã
- ãµãã³ãã³ãæ¹åŒã¯ãŸã æ¡çšããŠããªãããšã
- åã³ãã³ãã®å®äœã¯ç¬ç«åäœã§åãPerlããã°ã©ã ã§ããããšã
- 䞊ååã¯ç©æ¥µçã«ããŠããªãããšã
fork
é¢æ°ã®äœ¿çšã¯æ€èšæžã¿ã - å
±éåå¯èœãªéšåã¯ããããç¬èªã¢ãžã¥ãŒã«ã䜿ã£ãŠ
use
ããŠããªãããšã - æšæºã¢ãžã¥ãŒã«ã®ã¿
use
ããŠããããšãList::MoreUtils
ã䜿ã£ãŠããªãã - XSã€ã³ã¿ãŒãã§ãŒã¹ã®æªäœ¿çšã
chomp; @F=split/\t/o,$_,-1;
ã®éšåã¯é«éåãããã Term::ReadKey
ã䜿ã£ãŠããªãããšãåŠçäžã«ã·ã°ãã«ä»¥å€ã®æ¹æ³ã§ãããŒæŒäžã®åŠçãä»ããããuse 5.014
ã§ããããšãsrandé¢æ°ããä¹±æ°ã·ãŒããåŸãããããã£ãšå€ãã·ã¹ãã ã§ãåäœããããã- ç°å¢å€æ°ã¯äœ¿ã£ãŠããªãããšãçŸç¶ãªãã·ã§ã³ã¹ã€ãã("-"ã§å§ãŸã)ã§åã³ãã³ãã®åäœ(åºåãæåã®æå®ãªã©)ã
use Getopt::Std
ã§ã®ã¿ãªãã·ã§ã³ã¹ã€ããåŠçãè¡ã£ãŠããããšã--help
ãããã«äŸåãã®ãªã·ã¢æåΞã-Ξ
ã®ããã«äœ¿ãããã-e
ãè€æ°äœ¿ããgrep
ã®ããã«ãããã
çŸç¶(2021幎5æçŸåš)ãhttps://metacpan.org/author/TULAMILI ã«ãããã¢ãžã¥ãŒã«å Bin::ã§å§ãŸãã¢ãžã¥ãŒã«8åãé¢é£ããCPANã¢ãžã¥ãŒã«ã§ããã
ãã®ã¢ãžã¥ãŒã«(ãããã¯GitHubã®ãã®ã¬ããžããª)ãæäŸããã³ãã³ã矀ãããªãã¡ãæ¬ãœãããŠã§ã¢ã¯ãäžèšã§è§£èª¬ãè¬æŒãéèªæçš¿ã®åœ¢ã§éå»ã«è¡ãããã
- Web+Press DB 第124å·»(ç¿æ³³ç€Ÿ) 2021幎8æå·ã®Perl Hackers Hub ã®é£èŒ 第68åç®
- æ åæ å ±ã¡ãã£ã¢åŠäŒã®åŠäŒèªã®2018幎7æå·ãç§ã®ç 究éçºããŒã«ãïŒç¬¬100åïŒTable::Hack 衚圢åŒããŒã¿ã®ååæãœãããŠã§ã¢
- IEEE Big Data 2016 (2016幎12æã¯ã·ã³ãã³DC)ã®Workshop(2nd International workshop on Methodologies to Improve Big Data Projects)ã§ã®çºè¡š
- ãã€ãã³ã°ããŒãã«æŠç¥ç 究æã§ã®çµæžç©çåŠã®ç 究éäŒ(2016幎8æ29æ¥)ã§ã®çºè¡š
Same as Perl.