[Linux便利コマンド] csviewを入れてみる
環境
概要
普段仕事にて、csvを扱うことがよくあるのですが
CUIでのcsvビューワーがあるようなので入れてみます
インストール
# ダウンロード
$ curl -OL https://github.com/wfxr/csview/releases/download/v0.3.5/csview-v0.3.5-x86_64-unknown-linux-gnu.tar.gz
# 解凍
$ tar -zxvf csview-v0.3.5-x86_64-unknown-linux-gnu.tar.gz
$ cd csview-v0.3.5-x86_64-unknown-linux-gnu
# パスが通っているところに移動
$ sudo mv csview /usr/local/bin/
簡単ですね。
では実践!
# 実行
$ csview a.csv
すると
Glibcの2.18が見つからないとエラーが発生!!
$ sudo yum update glibc
にてアップデートをしようとしますが、2.17までしか無いよう。
すると、
の記事を参考に手動でglibcを更新できるみたいなのでやってみる。
Glibcの2.18をインストール
$ cd /tmp
$ wget https://ftp.gnu.org/gnu/glibc/glibc-2.18.tar.gz
$ tar -zxvf glibc-2.18.tar.gz
$ cd glibc-2.18
$ mkdir build
$ cd build
$ ../configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/bin
$ make && make install
$ ldd --version
ldd (GNU libc) 2.18
Copyright (C) 2013 Free Software Foundation, Inc.
これでglibcが2.18になりました。。よかったよかった。
気を取り直して、再度csviewを実践!
文字コードが違う!!
$ csview a.csv
[error] input is not utf8 encoded
またもエラー。
文字コードがutf8じゃないと駄目だと。
csviewのgithubのREADMEに書いてある通りiconvをかませば行けるよう。
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview
+-------------+----------+----------------+
| コード | 名称 | 説明 |
+-------------+----------+----------------+
| abc | 消しゴム | よく消えるよ |
| ABCDEFGHIJK | えんぴつ | もちやすいよ |
| | | 芯も折れにくい |
+-------------+----------+----------------+
行けた!!!!
見た目の種類を確認
$ ./csview --help
csview 0.3.5
A high performance csv viewer with cjk/emoji support.
USAGE:
csview [FLAGS] [OPTIONS] [FILE] [SUBCOMMAND]
FLAGS:
-h, --help Prints help information
-H, --no-headers Specify that the input has no header row
-t, --tsv Use '\t' as delimiter for tsv, overrides '-d' option
-V, --version Prints version information
OPTIONS:
--style <border> Specify the border style [default: Ascii] [possible values: None, Ascii, Sharp, Rounded, Reinforced, Markdown, Grid]
-d, --delimiter <delimiter> Specify the field delimiter [default: ,]
ARGS:
<FILE> File to read
SUBCOMMANDS:
completion Generate shell completion file
help Prints this message or the help of the given subcommand(s)
とのことで、--style
でいろいろ変えれるみたい。
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style none
コード 名称 説明
abc 消しゴム よく消えるよ
ABCDEFGHIJK えんぴつ もちやすいよ
芯も折れにくい
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style ascii
+-------------+----------+----------------+
| コード | 名称 | 説明 |
+-------------+----------+----------------+
| abc | 消しゴム | よく消えるよ |
| ABCDEFGHIJK | えんぴつ | もちやすいよ |
| | | 芯も折れにくい |
+-------------+----------+----------------+
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style sharp
┌─────────────┬──────────┬────────────────┐
│ コード │ 名称 │ 説明 │
├─────────────┼──────────┼────────────────┤
│ abc │ 消しゴム │ よく消えるよ │
│ ABCDEFGHIJK │ えんぴつ │ もちやすいよ │
│ │ │ 芯も折れにくい │
└─────────────┴──────────┴────────────────┘
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style rounded
╭─────────────┬──────────┬────────────────╮
│ コード │ 名称 │ 説明 │
├─────────────┼──────────┼────────────────┤
│ abc │ 消しゴム │ よく消えるよ │
│ ABCDEFGHIJK │ えんぴつ │ もちやすいよ │
│ │ │ 芯も折れにくい │
╰─────────────┴──────────┴────────────────╯
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style reinforced
┏─────────────┬──────────┬────────────────┓
│ コード │ 名称 │ 説明 │
├─────────────┼──────────┼────────────────┤
│ abc │ 消しゴム │ よく消えるよ │
│ ABCDEFGHIJK │ えんぴつ │ もちやすいよ │
│ │ │ 芯も折れにくい │
┗─────────────┴──────────┴────────────────┛
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style markdown
| コード | 名称 | 説明 |
|-------------|----------|----------------|
| abc | 消しゴム | よく消えるよ |
| ABCDEFGHIJK | えんぴつ | もちやすいよ |
| | | 芯も折れにくい |
$ iconv -f shift-jis -t UTF8//TRANSLIT a.csv| csview --style grid
┌─────────────┬──────────┬────────────────┐
│ コード │ 名称 │ 説明 │
├─────────────┼──────────┼────────────────┤
│ abc │ 消しゴム │ よく消えるよ │
├─────────────┼──────────┼────────────────┤
│ ABCDEFGHIJK │ えんぴつ │ もちやすいよ │
│ │ │ 芯も折れにくい │
└─────────────┴──────────┴────────────────┘
普段は改行がよくされるようなcsvを扱うことが多いので、個人的にはgridが一番よいですかねー。
エイリアス
毎回iconvの指定をするのはめんどくさいのでエイリアス(function)を用意しておこうと思います
shift-jisへの変換だからcsview
+ s
でcsviews
にしました。。
ついでに表示のstyleも乗っけておきます
function csviews() {
command iconv -f shift-jis -t UTF8//TRANSLIT $1 | csview --style grid
}
$ csviews a.csv
┌─────────────┬──────────┬────────────────┐
│ コード │ 名称 │ 説明 │
├─────────────┼──────────┼────────────────┤
│ abc │ 消しゴム │ よく消えるよ │
├─────────────┼──────────┼────────────────┤
│ ABCDEFGHIJK │ えんぴつ │ もちやすいよ │
│ │ │ 芯も折れにくい │
└─────────────┴──────────┴────────────────┘
あー便利。
まとめ
大きいものを見るときはしんどそうですが、ちょっとした確認でわざわざソフトで開いたりするのも面倒・・というときには
とても便利そうです。
qiita上では見た目が行間のpaddingが効いてしまってるため線が分かれてるのですが、実際のコンソール上では線はきれいにくっついて引かれているので
ぜひ気になった方は実際に試してみてみてください。
Author And Source
この問題について([Linux便利コマンド] csviewを入れてみる), 我々は、より多くの情報をここで見つけました https://qiita.com/r12tkmt/items/5af1af2ce2b83c7e7b0a著者帰属:元の著者の情報は、元のURLに含まれています。著作権は原作者に属する。
Content is automatically searched and collected through network algorithms . If there is a violation . Please contact us . We will adjust (correct author information ,or delete content ) as soon as possible .