Millerで簡単にデータをフィルタリング、整形したり、操作することが出来ます。
Millerのインストール方法
sudo apt-get update
sudo apt-get -y install miller
Millerの実行方法
サンプルデータの作成
cat << EOF > sample.csv
name,entry_date,point
"Doug, White",2022-10-11,1200
"Anne, Greenwood",2022-09-10,2100
"Bob, Kerl",2022-10-11,3000
EOF
・表型に整形して表示
mlr --icsv --opprint cat sample.csv
name entry_date point
Doug, White 2022-10-11 1200
Anne, Greenwood 2022-09-10 2100
Bob, Kerl 2022-10-11 3000
・JSON型に変換して表示
mlr --icsv --ojson cat sample.csv
[
{
"name": "Doug, White",
"entry_date": "2022-10-11",
"point": 1200
},
{
"name": "Anne, Greenwood",
"entry_date": "2022-09-10",
"point": 2100
},
{
"name": "Bob, Kerl",
"entry_date": "2022-10-11",
"point": 3000
}
]
・行数をカウント
mlr --icsv count sample.csv
count=3
・降順でソート
mlr --c2p --icsv sort -nr point sample.csv
name entry_date point
Bob, Kerl 2022-10-11 3000
Anne, Greenwood 2022-09-10 2100
Doug, White 2022-10-11 1200
・指定列のみ出力
mlr --icsv --opprint cut -f name,point sample.csv
name point
Doug, White 1200
Anne, Greenwood 2100
Bob, Kerl 3000
・条件を指定してフィルタリング
mlr --icsv --opprint filter '$point >= 2000' sample.csv
name entry_date point
Anne, Greenwood 2022-09-10 2100
Bob, Kerl 2022-10-11 3000
関連情報
・Millerのgithubリポジトリ
https://github.com/johnkerl/miller