有人知道Linux/OS X的命令行CSV查看器吗?我在考虑一些更少的东西,但以一种更可读的方式分隔列。(我可以用OpenOffice Calc或Excel打开它,但这对于我需要查看的数据来说太强大了。)有水平和垂直滚动会很棒。
当前回答
我为这些(和其他)目的创建了一个表。安装与
pip install tablign
and
$ cat test.csv
Header1,Header2,Header3
Pizza,Artichoke dip,Bob's Special of the Day
BLT,Ham on rye with the works,
$ tablign test.csv
Header1 , Header2 , Header3
Pizza , Artichoke dip , Bob's Special of the Day
BLT , Ham on rye with the works ,
如果数据由逗号以外的其他东西分隔,也适用。最重要的是,它保留了分隔符,因此您还可以使用它来设置ASCII表的样式,而不牺牲[Markdown,CSV,LaTeX]语法。
其他回答
这里有一个(可能太)简单的选择:
sed "s/,/\t/g" filename.csv | less
Tabview真的很好。工作200+MB的文件,显示很好,这是与LibreOffice的bug,以及在gvim的csv插件。
Anaconda版本可以在这里找到:https://anaconda.org/bioconda/tabview
XSV不仅仅是一个查看器。我推荐它用于命令行上的大多数CSV任务,特别是在处理大型数据集时。
我用pisswillis的答案用了很长时间。
csview()
{
local file="$1"
sed "s/,/\t/g" "$file" | less -S
}
但后来结合了一些我在http://chrisjean.com/2011/06/17/view-csv-data-from-the-command-line上找到的更适合我的代码:
csview()
{
local file="$1"
cat "$file" | sed -e 's/,,/, ,/g' | column -s, -t | less -#5 -N -S
}
对我来说,它工作得更好的原因是它能更好地处理宽列。
奥弗里的回答会告诉你你想要的一切。 但. .如果你不想记住这个命令,你可以把它添加到你的~/。Bashrc(或同等):
csview()
{
local file="$1"
sed "s/,/\t/g" "$file" | less -S
}
这与Ofri的答案完全相同,除了我已经将它包装在一个shell函数中,并且使用less -S选项来停止行包装(使less的行为更像office/oocalc)。
打开一个新的shell(或者输入source ~/。Bashrc在你当前的shell),并运行命令使用:
csview < filename >
推荐文章
- 在tmux中保持窗口名称固定
- 如何生成一个核心转储在Linux上的分段错误?
- 在Python中如何在Linux和Windows中使用“/”(目录分隔符)?
- (Mac) -bash: __git_ps1:命令未找到
- 如何创建Bash别名?
- Java/JDK的苹果硅芯片
- Virtualenvs中的破引用
- 如何在Apache服务器上自动将HTTP重定向到HTTPS ?
- 如何限制从grep返回的结果的数量?
- 将值从管道读入shell变量
- 以相对于当前目录的路径递归地在Linux CLI中列出文件
- 如何使用xargs复制名称中有空格和引号的文件?
- 在makefile中抑制命令调用的回声?
- 强制DOM重绘/刷新Chrome/Mac
- RE错误:在Mac OS X上的非法字节序列