有人知道Linux/OS X的命令行CSV查看器吗?我想大概是less个,但这会以一种更易读的方式将列隔开.(我可以用OpenOffice Calc或Excel打开它,但这对我需要的looking个数据来说太强大了.)有水平和垂直滚动会很棒.

推荐答案

你也可以使用这个:

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

请注意,用,,替换, ,需要两次.如果只做一次,1,,,4将变成1, ,,4,因为第二个逗号已经匹配.

Linux相关问答推荐

空字符串和空文件的区别

eBPF:仅使用系统调用加载 eBPF 程序并将其附加到 sys_enter_execve

inotifywait 可以说文件在另一个进程可以访问之前已关闭吗?

如何使用正则表达式在 LINux 中查找具有不同结尾的多个文件?

sed 命令在 gitlab runner 上无法正确执行

如何找出哪个进程正在消耗等待 CPU(即 I/O 阻塞)

如何判断 Ubuntu 12.04 LTS 上是否安装了多个版本的 PHP?

Eclipse 的 C# 插件

如何为 Linux 构建 Visual C++ 项目?

关于 putenv() 和 setenv() 的问题

使用正则表达式时,Shell 'tar: not found in archive' 错误

如何在 shell 脚本中动态生成新的变量名?

从 Linux shell 将多个文件从一个目录复制到另一个目录

crontab 命令单独一行

分段故障处理

将标准输出作为命令行工具的文件名传递?

当将信号量减为零的进程崩溃时,如何恢复信号量?

在 Unix 上计算每行/字段的字符出现次数

PostgreSQL psql 终端命令

如何在 docker 容器中运行 cron 作业(job)