csvlens - lessのように動作するコマンドラインCSVファイルビューアー

[PR]記事内のアフィリエイトリンクから収入を得る場合があります
  • URLをコピーしました!

S 20240124 115119

「CSVファイル」は、各項目がカンマで区切られたテキストファイルです。

テキストエディタや、cat/less/moreなどのツールによって中身を確認することができますが、そのままの状態ではあまり見やすく表示することはできません。

本日紹介する「csvlens」はこの問題を解決するコマンドラインツールです。Rustで書かれたオープンソースツールで、Windows/Linux/macOS向けの実行ファイルをダウンロードすることもできます。

以下使用方法を説明します。

目次

csvlensの使用方法

csvlensの実行ファイルはGitHubからダウンロードすることができます。もしくはHomebrewやCargo、Linux/Windowsのパッケージ管理ツールを使ってインストールすることもできます。

GitHubからダウンロードしたファイルを利用する場合、tar.xzの中に含まれるcsvlensファイルをパスが通ったディレクトリにコピーします。macOSの場合、初回実行時はFinderから「開く」を選択して実行許可を与える必要があります。

csvlensはファイル名を指定して実行することができます。例えば郵便番号データutf_ken_all.csvを読み込みたい場合、次のように実行します。

csvlens utf_ken_all.csv

実行すると、ファイルの中身が見やすく整形された表示されます。

Usage1

▲一行目は自動的にヘッダー行と見なされます(この動作を変更するためのオプションはまだ存在しない模様)。hjklや矢印キー、/キーによる検索機能などを利用して目的のデータを探すこともできます。

パイプ機能にも対応しています。例えば「トウキョウ」を含むデータだけを確認したい場合、次のように実行します。

grep トウキョウ utf_ken_all.csv | csvlen

Usage2

▲データが絞り込まれて表示されました。この場合も先ほどと同様のキーバインドを使用することができます。

以下のようなコマンドラインオプションが存在します。

$ csvlens --help
Usage: csvlens [OPTIONS] [FILENAME]

Arguments:
  [FILENAME]  CSV filename

Options:
  -d, --delimiter       Delimiter character (comma by default) or "auto" to auto-detect the delimiter
  -t, --tab-separated              Use tab separation. Shortcut for -d '\t'
  -i, --ignore-case                Searches ignore case. Ignored if any uppercase letters are present in the search string
      --echo-column   Print the value of this column to stdout for the selected row
      --debug                      Show stats for debugging
  -h, --help                       Print help
  -V, --version                    Print version

-d --delimiterでデリミタを指定できるほか、-tによってタブ区切りのファイルを扱うこともできます。

S 20240124 121312

hjklの他にもCtrl+fCtrl+bなど多数のショートカットキーが準備されています。詳細は公式サイトで確認可能です。

まとめ

csvlensはコマンドラインで軽快に動作するCSVファイルビューアーです。utf_ken_all.csvのような大きなサイズのファイルでも問題無く動作する実用的なツールです。

タイトル csvlens
公式サイト https://github.com/YS-L/csvlens
ソフトアンテナ https://softantenna.com/softwares/7732-csvlens
説明 lessのように動作するコマンドラインのCSVビューアー。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次