{"id":13339616,"url":"https://github.com/kitanokitsune/csv2tabular","last_synced_at":"2025-02-26T13:44:33.797Z","repository":{"id":174191685,"uuid":"168895945","full_name":"kitanokitsune/csv2tabular","owner":"kitanokitsune","description":"Script to display CSV in tabular form","archived":false,"fork":false,"pushed_at":"2020-11-03T13:16:55.000Z","size":25,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-09T06:46:23.202Z","etag":null,"topics":["bash","csv","csv-converter","csv-format","gplv3","linux","msys","shell","shell-script","unix"],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kitanokitsune.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"COPYING","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-02-03T01:05:43.000Z","updated_at":"2021-06-26T10:02:47.000Z","dependencies_parsed_at":null,"dependency_job_id":"79116290-2b2d-4871-81be-1f17789d68c8","html_url":"https://github.com/kitanokitsune/csv2tabular","commit_stats":null,"previous_names":["kitanokitsune/csv2tabular"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitanokitsune%2Fcsv2tabular","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitanokitsune%2Fcsv2tabular/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitanokitsune%2Fcsv2tabular/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kitanokitsune%2Fcsv2tabular/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kitanokitsune","download_url":"https://codeload.github.com/kitanokitsune/csv2tabular/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":240866508,"owners_count":19870376,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["bash","csv","csv-converter","csv-format","gplv3","linux","msys","shell","shell-script","unix"],"created_at":"2024-07-29T19:21:07.677Z","updated_at":"2025-02-26T13:44:33.768Z","avatar_url":"https://github.com/kitanokitsune.png","language":"Shell","readme":"# Display CSV in Tabular Form\n\n## 概要\n**csv2tabular.sh** は標準入力からCSV形式のデータを受け取り、標準出力に表形式で出力するシェルスクリプトです。UTF-8に対応しています。\n\n\n## 動作条件\n* Bash\n* GNU Awk 4.0 以降が必要です\n\n\n## 使い方\n\ncsv2tabular.sh へCSVを入力するには、以下のようにファイルリダイレクトまたはコマンドのパイプを使います。\n\n* $ csv2tabular.sh \u003c sample.csv\n* $ cat sample.csv | csv2tabular.sh\n\n**実行例：**\n* $ cat sample.csv\n```\n  \"Sample No.\",\"Project Name\",Score,Status\n  880221,\"Super-X alpha\",1500,Pass\n  21012,\"Extreme DX\",30,Fail\n  9910903,Hypernova,12000,Pass\n```\n* $ csv2tabular.sh \u003c sample.csv\n```\n  +------------+---------------+-------+--------+\n  | Sample No. | Project Name  | Score | Status |\n  +------------+---------------+-------+--------+\n  | 880221     | Super-X alpha | 1500  | Pass   |\n  | 21012      | Extreme DX    | 30    | Fail   |\n  | 9910903    | Hypernova     | 12000 | Pass   |\n  +------------+---------------+-------+--------+\n```\n\n文字のエンコードが UTF-8 以外の場合は、nkf 等で UTF-8 へ変換する必要があります。\n* $ cat sjis.csv | nkf -Sw | csv2tabular.sh | nkf -Ws\n```\n  +------------+------------+--------+\n  | あいうえお | かきくけこ | さしす |\n  +------------+------------+--------+\n  | a          | b          | c      |\n  | Ａ         | Ｂ         | Ｃ     |\n  +------------+------------+--------+\n```\n\n## オプション\n\n以下のオプションが用意されています。\n\n| オプション         | 説明 |\n| :---               | :--- |\n| -s {0..3}          | ボーダースタイル \u003cbr\u003e 0:枠なし \u0026nbsp;\u0026nbsp; 1:外枠と列の仕切り \u0026nbsp;\u0026nbsp; 2:ヘッダーとボディ（デフォルト） \u0026nbsp;\u0026nbsp; 3:行毎に仕切り |\n| -r \u0026nbsp; -l \u0026nbsp; -c \u003cbr\u003e (組み合わせ可)| 列のアライメント \u003cbr\u003e r:右寄せ \u0026nbsp;\u0026nbsp; l:左寄せ（デフォルト） \u0026nbsp;\u0026nbsp; c:中央揃え \u003cbr\u003e 例： -lrcr 1～4列目を 左,右,中,右 に揃える （5列目以降は左） |\n| -p \u0026lt;整数\u0026gt;    | セル内のパディング量（省略時=1） |\n| -i \u0026lt;整数\u0026gt;    | 表のインデント量（省略時=2） |\n| -t \u0026lt;文字列\u0026gt;...| ヘッダー行の挿入 \u003cbr\u003e ヘッダー行が含まれないCSVデータに、コマンドラインからヘッダー行を挿入できます。|\n| -w                 | East Asian Ambiguous Width を全角として扱います（省略時は半角）|\n| -v                 | バージョンとライセンス情報の表示 |\n| -h                 | ヘルプ |\n\n以下、オプションの例を示します。\n\n### ボーダースタイルの例\n* ___Style 0___ : 枠なし  \n$ cat sample.csv | csv2tabular.sh -s0\n```\n    Sample No.   Project Name    Score   Status\n    880221       Super-X alpha   1500    Pass\n    21012        Extreme DX      30      Fail\n    9910903      Hypernova       12000   Pass\n```\n* ___Style 1___ : 外枠と列の仕切り  \n$ cat sample.csv | csv2tabular.sh -s1\n```\n  +------------+---------------+-------+--------+\n  | Sample No. | Project Name  | Score | Status |\n  | 880221     | Super-X alpha | 1500  | Pass   |\n  | 21012      | Extreme DX    | 30    | Fail   |\n  | 9910903    | Hypernova     | 12000 | Pass   |\n  +------------+---------------+-------+--------+\n```\n* ___Style 2___ : ヘッダーとボディ（デフォルト）  \n$ cat sample.csv | csv2tabular.sh -s2\n```\n  +------------+---------------+-------+--------+\n  | Sample No. | Project Name  | Score | Status |\n  +------------+---------------+-------+--------+\n  | 880221     | Super-X alpha | 1500  | Pass   |\n  | 21012      | Extreme DX    | 30    | Fail   |\n  | 9910903    | Hypernova     | 12000 | Pass   |\n  +------------+---------------+-------+--------+\n```\n* ___Style 3___ : 行毎に仕切り  \n$ cat sample.csv | csv2tabular.sh -s3\n```\n  +------------+---------------+-------+--------+\n  | Sample No. | Project Name  | Score | Status |\n  +------------+---------------+-------+--------+\n  | 880221     | Super-X alpha | 1500  | Pass   |\n  +------------+---------------+-------+--------+\n  | 21012      | Extreme DX    | 30    | Fail   |\n  +------------+---------------+-------+--------+\n  | 9910903    | Hypernova     | 12000 | Pass   |\n  +------------+---------------+-------+--------+\n```\n\n### アライメントオプションの例\nアライメントは列毎に設定できます。オプションを省略した場合は左揃えになります。\n* ___e.g.1:___ **-r** 先頭の1列だけ右揃え。残りは左揃え。  \n$ cat sample.csv | csv2tabular.sh -r\n```\n  +------------+---------------+-------+--------+\n  | Sample No. | Project Name  | Score | Status |\n  +------------+---------------+-------+--------+\n  |     880221 | Super-X alpha | 1500  | Pass   |\n  |      21012 | Extreme DX    | 30    | Fail   |\n  |    9910903 | Hypernova     | 12000 | Pass   |\n  +------------+---------------+-------+--------+\n```\n* ___e.g.2:___ **-rrrr** 先頭から４列目まで全て右揃え。  \n$ cat sample.csv | csv2tabular.sh -rrrr\n```\n  +------------+---------------+-------+--------+\n  | Sample No. |  Project Name | Score | Status |\n  +------------+---------------+-------+--------+\n  |     880221 | Super-X alpha |  1500 |   Pass |\n  |      21012 |    Extreme DX |    30 |   Fail |\n  |    9910903 |     Hypernova | 12000 |   Pass |\n  +------------+---------------+-------+--------+\n```\n* ___e.g.3:___ **-rlrc** １および３列目を右揃え、２列目を左揃え、４列目を中央揃え。  \n$ cat sample.csv | csv2tabular.sh -rlrc\n```\n  +------------+---------------+-------+--------+\n  | Sample No. | Project Name  | Score | Status |\n  +------------+---------------+-------+--------+\n  |     880221 | Super-X alpha |  1500 |  Pass  |\n  |      21012 | Extreme DX    |    30 |  Fail  |\n  |    9910903 | Hypernova     | 12000 |  Pass  |\n  +------------+---------------+-------+--------+\n```\n\n### ヘッダー行の挿入\n* 入力されたCSVデータの先頭に、-t 以降のコマンドライン引数を挿入します。  \n$ cat sample.csv | csv2tabular.sh -t \"a,b,c\" -p0 -i10 \"g h\"\n```\n  +------------+---------------+-------+--------+\n  | a,b,c      | -p0           | -i10  | g h    |\n  +------------+---------------+-------+--------+\n  | Sample No. | Project Name  | Score | Status |\n  | 880221     | Super-X alpha | 1500  | Pass   |\n  | 21012      | Extreme DX    | 30    | Fail   |\n  | 9910903    | Hypernova     | 12000 | Pass   |\n  +------------+---------------+-------+--------+\n```\nこのように、-t 以降はヘッダーデータとして扱われるため、-t より後ろにオプションを指定することはできません。\n\n\n## License\nCopyright (C) 2019 kitanokitsune\n\nThis program is free software; you can redistribute it and/or modify\nit under the terms of the GNU General Public License as published by\nthe Free Software Foundation; either version 3 of the License, or\n(at your option) any later version.\n\nThis program is distributed in the hope that it will be useful,\nbut WITHOUT ANY WARRANTY; without even the implied warranty of\nMERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\nGNU General Public License for more details.\n\n\n---\nkitanokitsune / 北乃きつね\n","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitanokitsune%2Fcsv2tabular","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkitanokitsune%2Fcsv2tabular","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkitanokitsune%2Fcsv2tabular/lists"}