This module provides a UNIX-like command `collen'. Copyright (c) 2020-2023 Toshiyuki SHIMONO. All rights reserved. This program is free software; you can redistribute it and/or modify it under the same terms as Perl itself. â– â– æ¦‚è¦ â– â– ã“ã®ãƒ¢ã‚¸ãƒ¥ãƒ¼ãƒ«ã‚’インストールã™ã‚‹ã¨ã€ã‚³ãƒžãƒ³ãƒ‰ collen ãŒä½¿ãˆã‚‹ã‚ˆã†ã«ãªã‚‹ã€‚ ■■目的 ■■入力ã®åˆ—ã«ã¤ã„ã¦ã€ã„ã‚ã„ã‚ãªæ•°ã‚’調ã¹ã‚‹ã€‚ 入力データをå„行を区切り文å—ã”ã¨ã«åŒºåˆ‡ã£ã¦ã€æ–‡å—ã®é•·ã•ã«å¤‰æ›ã—ã¦å‡ºåŠ›ã™ã‚‹ã€‚ 行末ã®æ”¹è¡Œæ–‡å—ã¯ç‰¹ã«ã‚ªãƒ—ションã§æŒ‡ç¤ºã®ãªã„é™ã‚Šã€é•·ã•è¨ˆç®—ã®å¯¾è±¡ã§ã¯ãªã„。 オプション : -i str : 区切り文å—ã®å¤‰æ›´ã€‚ -l 0 : å„è¡Œã®å…¨ä½“ã®é•·ã•ã‚’算出。行末文å—ã‚’å«ã‚ãªã„。 -l + : å„è¡Œã®å…¨ä½“ã®é•·ã•ã‚’算出。行末文å—ã‚’å«ã‚ãŸé•·ã•ã¨ã™ã‚‹ã€‚ -s 0 : 空白文å—を除去ã—ã¦å‡¦ç†ã™ã‚‹ã€‚i.e. éžç©ºç™½æ–‡å—ã®ã¿ãŒå‡¦ç†å¯¾è±¡ -s 1 : éžç©ºç™½æ–‡å—を除去ã—ã¦å‡¦ç†ã™ã‚‹ã€‚ i.e. 空白文å—ã®ã¿ãŒå‡¦ç†å¯¾è±¡ã€‚(1ã®éƒ¨åˆ†ã¯0以外ã®ä½•ã§ã‚‚良ã„) -u : utf-8 ã¨ã¿ãªã—ã¦ã€é•·ã•ã‚’計算ã™ã‚‹ã€‚ãã†ã§ãªã‘ã‚Œã°ã€å˜ç´”ãªãƒã‚¤ãƒˆé•·ã«ãªã‚‹ã€‚ -v : utf-8 ã®æ–‡å—å¹…ã§é•·ã•ã‚’計算ã™ã‚‹(åŠè§’ã¯1ã€å…¨è§’ã¯2)。(visual-width) -C 0 : 上記ã®å‡¦ç†ã§0を与ãˆã‚‹åˆ—ã®æ•°ã‚’æ•°ãˆã‚‹ã€‚(columns count) -C 0b : 上記ã®å‡¦ç†ã§0を与ãˆã‚‹åˆ—ã®æœ€åˆã®ä½ç½®ã‚’与ãˆã‚‹ã€‚ç„¡ã‘ã‚Œã°0。 -C 0e : 上記ã®å‡¦ç†ã§0を与ãˆã‚‹åˆ—ã®æœ€å¾Œã®ä½ç½®ã‚’与ãˆã‚‹ã€‚ç„¡ã‘ã‚Œã°0。 -C 0be : 上記ã®å‡¦ç†ã§0を与ãˆã‚‹åˆ—ã®æœ€åˆã¨æœ€å¾Œã®ä½ç½®ã‚’与ãˆã‚‹ã€‚ç„¡ã‘ã‚Œã°0。 -C -0 : 上記ã®å‡¦ç†ã§0を与ãˆãªã„列ã®æ•°ã‚’æ•°ãˆã‚‹ã€‚-0ã§ãªãã¦0-ã®2æ–‡å—ã‚‚å¯ã€‚ -C -0b : 上記ã®å‡¦ç†ã§0を与ãˆãªã„列ã®æœ€åˆã®ä½ç½®ã‚’与ãˆã‚‹ã€‚ç„¡ã‘ã‚Œã°0。 -C -0e : 上記ã®å‡¦ç†ã§0を与ãˆãªã„列ã®æœ€å¾Œã®ä½ç½®ã‚’与ãˆã‚‹ã€‚ç„¡ã‘ã‚Œã°0。 -C -0be : 上記ã®å‡¦ç†ã§0を与ãˆãªã„列ã®æœ€åˆã¨æœ€å¾Œã®ä½ç½®ã‚’与ãˆã‚‹ã€‚ç„¡ã‘ã‚Œã°0。 -C 1 : 列ã®æ•°ã‚’æ•°ãˆã‚‹ã€‚(1ã®éƒ¨åˆ†ã¯å®Ÿéš›ã«ã¯0ã¾ãŸã¯-0ã§ç„¡ã‘ã‚Œã°ä½•ã§ã‚‚良ã„) -c : ã“れ㯠-C 1 ã¨åŒã˜(列ã®æ•°ã‚’æ•°ãˆã‚‹)。 -= : 1行目を(ヘッダã¨è¦‹ãªã—ã¦)ãã®ã¾ã¾å‡ºåŠ›ã™ã‚‹ã€‚ -1 : å„è¡Œã«ã¤ã„ã¦ã€å…ƒã®æ–‡å—列をå³å´ã«ä»˜åŠ ã™ã‚‹ã€‚ -@ : ファイルåを行末ã«å‡ºåŠ›ã€‚(output filename) -^ : ファイルをèªã¿çµ‚ã‚ã£ãŸå¾Œã«ã€ãƒ•ã‚¡ã‚¤ãƒ«åを出力ã™ã‚‹ã€‚"^(タブ文å—)ファイルå" ãŒå‡ºåŠ›ã•ã‚Œã‚‹ã€‚ -! : フラッシュã™ã‚‹ã€‚ãƒãƒƒãƒ•ã‚¡ã«è²¯ã‚ãªã„。 -f 'Ns' : Nã¯æ•°å—ã§sã¯æ–‡å—列。Nã§å›ºå®šé•·ã§æ•°ã‚’表示ã—ã€åŒºåˆ‡ã‚Šæ–‡å—ãŒsã¨ãªã‚‹ã€‚溢れãŸå ´åˆã¯*を表示 --help : ã“ã® $0 ã®ãƒ˜ãƒ«ãƒ—メッセージを出ã™ã€‚ perldoc -t $0 | cat ã§ã‚‚ã»ã¼åŒã˜ã€‚ --help opt : オプションã®ã¿ã®ãƒ˜ãƒ«ãƒ—を出ã™ã€‚opt以外ã§ã‚‚ options ã¨å…ˆé ãŒ1æ–‡å—以上一致ã™ã‚Œã°è‰¯ã„。 ■■コマンドã®ä¾‹ â– â– collen -= some.tsv | colsummary -= ã¨ã™ã‚‹ã¨ã€é•·ã•ã®åˆ†å¸ƒãŒå¾—られる。 ■■利用シーンã®ä¾‹ â– â– collen -c FILE.tsv ã«ã‚ˆã‚Šã€ãƒ•ã‚¡ã‚¤ãƒ«ã®å„è¡Œã®åˆ—数を知るã“ã¨ãŒå‡ºæ¥ã‚‹ã€‚ (awk -F'\t' '{print NF}' ã§ã‚‚å¯èƒ½ã§ã‚ã‚‹ãŒã€å‹•ä½œãŒæœ¬å½“ã«æ„図通りã§ã‚ã‚‹ã‹ ä¸å®‰ã«ãªã‚‹ã‹ã‚‚知れãªã„。awkã¨gawkã¨nawkã®åˆ¥ãŒã‚ã‚‹ã—ã€awkã®ä¸–代ã§å‹•ä½œãŒ ç•°ãªã‚‹å ´åˆã‚‚ã‚ã‚‹ãŸã‚。) collen -c FILE.tsv | freq -f ã§ã€åˆ—æ•°ã®é »åº¦è¡¨ãŒå‡ºåŠ›ã•ã‚Œã‚‹ã€‚(å…¨ã¦ã®åˆ—ãŒæƒã£ã¦ã„ã‚‹ã‹ç‚¹æ¤œãŒå¯èƒ½ã€‚) ■■補足 ■■コマンド自体ã¯é–‹ç™ºæ´ã¯é•·ã„ãŒã€ã“ã®ã‚³ãƒžãƒ³ãƒ‰å˜ä½“ã®ãƒ‘ッケージ化ã¯ã€ã“ã®æ–‡ç« ã‚’ 書ã„ãŸæ™‚点(2023-08-12, Version 0.250)ã§ã€1時間も経ã£ã¦ãªã„ã®ã§ã€ã“ã®è§£èª¬æ–‡ ã™ã‚‹ä½™åœ°ã¯å¤šã„ã§ã‚ã‚ã†(今ã¾ã§å¿…ãš2〜3日別ã®æ—¥ã«ä½•åº¦ã‚‚点検ã—ãªã„ã¨æº€è¶³ãªãƒ‘ッケージã«ã¯ ãªã‚‰ãªã„)。