[리눅스 편리 명령] 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が効いてしまってるため線が分かれてるのですが、実際のコンソール上では線はきれいにくっついて引かれているので
ぜひ気になった方は実際に試してみてみてください。
Reference
이 문제에 관하여([리눅스 편리 명령] csview를 넣어 보자), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/r12tkmt/items/5af1af2ce2b83c7e7b0a텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)