私はCSVファイルで作業し、時にはコマンドラインで行または列の内容をすばやく確認する必要があります。ほとんどの場合cut
、、、、および友達は仕事をしますが、head
カットtail
は次の作業を簡単に処理できません。
"this, is the first entry", this is the second, 34.5
ここで、最初のカンマは最初のフィールドの一部ですが、cut -d, -f1
同意しません。ソリューションを自分で書く前に、そのタスクに既に存在する良いツールを知っている人がいるかどうか疑問に思います。少なくとも上記の例を処理し、CSV形式のファイルから列を返すことができるはずです。他の望ましい機能には、最初の行に指定された名前に基づいて列を選択する機能、追加の引用スタイルのサポート、タブで区切られたファイルのサポートなどがあります。
そのようなツールについてはわかりませんが、Bash、Perl、Python、または他の一般的なスクリプト言語でそのようなプログラムを実装するための提案がある場合は、その提案には気にしません。
ベストアンサー1
パーティーに少し遅れているかもしれませんが、言及するもう一つのツールがあります。csvkit。
これには、次のことができる多くのコマンドラインツールがあります。
- CSV ファイル形式を再指定します。
- さまざまな形式(JSON、SQL、XLS)をCSVに変換し、
cut
その他grep
は同じですsort
が、CSVをサポートしています。- 異なるCSVファイルをリンクします。
- CSVファイルのデータに対して通常のSQLクエリを実行します。