コマンドラインからCSVなどの表形式ファイルを表示する [closed] 質問する

コマンドラインからCSVなどの表形式ファイルを表示する [closed] 質問する

Linux/OS X 用のコマンドライン CSV ビューアをご存知の方はいらっしゃいますか? 列の間隔を広くして読みやすくしたものを考えています。(OpenOffice Calc または Excel で開いても問題ありませんが、必要なデータを見るlessだけの場合は、それだけでは機能が多すぎます。) 水平および垂直スクロールがあれば便利です。

ベストアンサー1

これも使用できます:

column -s, -t < somefile.csv | less -#2 -N -S

columnは、非常に便利な標準の Unix プログラムです。各列の適切な幅を検出し、テキストをきれいにフォーマットされた表として表示します。

注意: 空のフィールドがある場合は、そこに何らかのプレースホルダーを配置する必要があります。そうしないと、列が次の列と結合されます。次の例は、sedプレースホルダーを挿入するために を使用する方法を示しています。

$ cat data.csv
1,2,3,4,5
1,,,,5
$ sed 's/,,/, ,/g;s/,,/, ,/g' data.csv | column -s, -t
1  2  3  4  5
1           5
$ cat data.csv
1,2,3,4,5
1,,,,5
$ column -s, -t < data.csv
1  2  3  4  5
1  5
$ sed 's/,,/, ,/g;s/,,/, ,/g' data.csv | column -s, -t
1  2  3  4  5
1           5

,,forの置換が, ,2 回行われていることに注意してください。1 回だけ行うと、2 番目のコンマが既に一致しているため、1,,,4になります。1, ,,4

おすすめ記事