logo
Published on

コマンドラインからCSVデータを扱うxsvの便利なサンプル10選

Authors

Linuxパソコン・サーバーのBash言語のコマンドラインにおいて使用できるCLIツール、"xsv"を活用した、日々の業務効率化、仕事効率化やプログラミングに活用できる便利な使用例、使い方を紹介します。

https://yuis.xsrv.jp/data/4nvqeMBT8jdjzujBFxVROqffEd35cCmJ.png

CSVデータをbashコマンドラインから扱うのに最適なxsvを使ってみました。

BurntSushi/xsv: A fast CSV command line toolkit written in Rust.

インストール

Rustのパッケージ管理システムcargoでのインストールが楽。

cargo install xsv
# export PATH="$PATH:${HOME}/.cargo/bin"

リファレンスを確認する

xsv --help
xsv select --help
xsv sort --help
# and more 

CSVをカラムで制限しつつ並び替えたのちフォーマットする

xsv select 1,5,4,3 | xsv table

特定のカラムの数値順でソートする ( -R ... --reverse )

xsv sort --select 評価 -N -R

デリミタを変更する;TSVを読み込む

xsv select アニメ名-評価 -d "\t" anime_database.csv 

ファイルの代わりに標準入力からデータを受け取る

xsv select アニメ名-評価 -d "\t" - <<< "$( data-anime-csv )" 

特定のカラムを正規表現してフィルタ

xsv search --select title ".*"

特定のカラムを正規表現してフィルタ ( 数値評価 8,9,10 のみを出力する例 )

xsv search --select 評価 "^[8-9]|1[0]$"

特定のカラムを正規表現してフィルタ ( 否定 )

xsv search --select 状態 --invert-match '^(停止中)

TSVをCSVへ変換する

xsv fmt -d "\t" -t ","

TSVをCSVへ変換する ( クウォート )

xsv fmt -d "\t" --quote-always -t ","