n******7 发帖数: 12463 | 1 比如一个tsv文件
怎么在terminal下面达到类似excel打开的效果,各个column都是对齐的?
我似乎很久前问过。。
现在还是把文件弄到本地 excel看
要是有个TUI工具能做这个就好了
如果没有的话,我立志自己写一个。考虑自己比较弱,计划5年能完成吧。 |
m**k 发帖数: 290 | 2 awk 搞一个很容易的吧。一个文件parse两遍,第一遍计算field length,第二遍格式
化打印输出。
$ cat test
Name Age Address
Paul 23 1115 W Franklin
Bessy the Cow 5 Big Farm Way
Zeke 45 W Main St
$ awk -F'\t' '{if (NR==FNR) {for (i=1;i<=NF;i++) if (len[i] < length($i))
len[i] = length($i)} else {for (i=1;i<=NF;i++) printf "%-*s", len[i]+2, $i;
print ""}}' test test
Name Age Address
Paul 23 1115 W Franklin
Bessy the Cow 5 Big Farm Way
Zeke 45 W Main St |
n******7 发帖数: 12463 | 3 我是想搞成交互的,就跟以前dos下面的制表软件那样
可以在对齐之后进行查询,屏幕滚动,乃至排序之类的操作
也就是一个linux TUI版的excel
好像还没有这样的工具?
;
【在 m**k 的大作中提到】 : awk 搞一个很容易的吧。一个文件parse两遍,第一遍计算field length,第二遍格式 : 化打印输出。 : $ cat test : Name Age Address : Paul 23 1115 W Franklin : Bessy the Cow 5 Big Farm Way : Zeke 45 W Main St : $ awk -F'\t' '{if (NR==FNR) {for (i=1;i<=NF;i++) if (len[i] < length($i)) : len[i] = length($i)} else {for (i=1;i<=NF;i++) printf "%-*s", len[i]+2, $i; : print ""}}' test test
|
D******n 发帖数: 2836 | 4 column -t ?
;
【在 m**k 的大作中提到】 : awk 搞一个很容易的吧。一个文件parse两遍,第一遍计算field length,第二遍格式 : 化打印输出。 : $ cat test : Name Age Address : Paul 23 1115 W Franklin : Bessy the Cow 5 Big Farm Way : Zeke 45 W Main St : $ awk -F'\t' '{if (NR==FNR) {for (i=1;i<=NF;i++) if (len[i] < length($i)) : len[i] = length($i)} else {for (i=1;i<=NF;i++) printf "%-*s", len[i]+2, $i; : print ""}}' test test
|
n****1 发帖数: 1136 | |
n******7 发帖数: 12463 | 6 谢谢回复
column的问题还是太简陋,比如列数一多要折行的话,可读性就废了
sc挺好,就是我想要的类型,但是有linux TUI 工具的通病,就是不用户友好
比如我花了5分钟还没搞清楚怎么用sc打开我的tsv文件
后来找到一个文章才知道,还要自己转,要么用sc的macro,要么自己写个脚本,而且
他认为用脚本更方便...
这不是应该让用户指定一个import的option就可以实现的事情吗?
有机会我要试试改改这个东西,不知道有多大工作量 |
n****1 发帖数: 1136 | 7 Are you saying rewriting SC is easier than writing the script? Or
reinventing the wheel is better than reading the damn manual?
Come on, get a pirated excel and you get everything done! |
n******7 发帖数: 12463 | 8 哦,excel我有
主要是我数据什么的都在cluster上,最好是能直接通过terminal搞定
不喜欢来回倒文件,也不喜欢用ssh -Y,速度有时候很不好
所以对这些terminal工具很有兴趣
基本上我就缺个看table的工具,还有看图的工具了
SC当然可以用,我这不是有点共产主义理想吗
linux好多工具,功能做了一大把,就是没考虑怎么让人容易用
其实大部分人只要常用的几个功能
总是要RTFM完全反人类,生命有限,搞点啥不好
【在 n****1 的大作中提到】 : Are you saying rewriting SC is easier than writing the script? Or : reinventing the wheel is better than reading the damn manual? : Come on, get a pirated excel and you get everything done!
|
j*********n 发帖数: 4116 | 9 我也喜欢console 我一直在幻想 能够在终端模式下 花花绿绿的不停闪现股票的行情数
据吗?
我问了不少马农能不能 他们都表示很不理解
【在 n******7 的大作中提到】 : 哦,excel我有 : 主要是我数据什么的都在cluster上,最好是能直接通过terminal搞定 : 不喜欢来回倒文件,也不喜欢用ssh -Y,速度有时候很不好 : 所以对这些terminal工具很有兴趣 : 基本上我就缺个看table的工具,还有看图的工具了 : SC当然可以用,我这不是有点共产主义理想吗 : linux好多工具,功能做了一大把,就是没考虑怎么让人容易用 : 其实大部分人只要常用的几个功能 : 总是要RTFM完全反人类,生命有限,搞点啥不好
|
n****1 发帖数: 1136 | 10 黑客主题电影看多了,见到帅哥靓女都用花花绿绿的TUI,于是落下了这后遗症...
现实中的黑客大多活在emacs的世界里, 形象可能接近Richard Stallman. 多想想这哥
们,TUI的毒就解了:)
【在 j*********n 的大作中提到】 : 我也喜欢console 我一直在幻想 能够在终端模式下 花花绿绿的不停闪现股票的行情数 : 据吗? : 我问了不少马农能不能 他们都表示很不理解
|
|
|
n****1 发帖数: 1136 | 11 TUI里面的编程级别也太底层了, 基本没有UI抽象, 你只能用C, 要自己malloc/free,
最重要的是基本没人会和你合作.
你要真想弄一个,我建议写个html + js web app. 网络层流量和terminal差不多,客户
端的灵活性完全不是一个级别. 现成的开源库很多, 社区也很庞大. 估计最后的产品就
是个高度精简优化的了的google spreadsheet.
【在 n******7 的大作中提到】 : 哦,excel我有 : 主要是我数据什么的都在cluster上,最好是能直接通过terminal搞定 : 不喜欢来回倒文件,也不喜欢用ssh -Y,速度有时候很不好 : 所以对这些terminal工具很有兴趣 : 基本上我就缺个看table的工具,还有看图的工具了 : SC当然可以用,我这不是有点共产主义理想吗 : linux好多工具,功能做了一大把,就是没考虑怎么让人容易用 : 其实大部分人只要常用的几个功能 : 总是要RTFM完全反人类,生命有限,搞点啥不好
|
j*********n 发帖数: 4116 | 12 俺是用终端灌水留下来的毛病,觉得这样效率很高阿,占用资源也少
【在 n****1 的大作中提到】 : 黑客主题电影看多了,见到帅哥靓女都用花花绿绿的TUI,于是落下了这后遗症... : 现实中的黑客大多活在emacs的世界里, 形象可能接近Richard Stallman. 多想想这哥 : 们,TUI的毒就解了:)
|
n****1 发帖数: 1136 | 13 如果你的表结构固定, 每列的类型也固定, 那么我觉得终极方案是sqlite数据库
sqlite有直接import csv的功能,你可以参见
http://stackoverflow.com/questions/6324434/how-do-i-speed-up-th
import以后,你可以归总/排序,可以和R/Python配合搞统计,总之是爱干啥干啥, 比写c
程序爽多了.最重要的是SQL是非常有用的技能. |
n******7 发帖数: 12463 | 14 你是要股票交易所的大屏幕那样的效果吧
这应该是可以的,就看有没人做
你看这里有不少TUI 工具
http://www.youtube.com/playlist?list=PL15B45A9D5A0000A5
还有CLI的
http://www.youtube.com/playlist?list=PL628AB8A7B7A877D8
console一个好处就是没有太多冗余信息,让人能focus
不像GUI,到处是按钮图标,还是不是弹出个啥
黑色背景看着也省眼
【在 j*********n 的大作中提到】 : 我也喜欢console 我一直在幻想 能够在终端模式下 花花绿绿的不停闪现股票的行情数 : 据吗? : 我问了不少马农能不能 他们都表示很不理解
|
n******7 发帖数: 12463 | 15 。。。看到你最后一句话就没动力了
这是真正的重新做轮子了
问题是我就是需要terminal下看table啊
很多数据down到server上,一解压,一大坨东西
然后几个注释文件,有的是table,都不知道每列可能是啥,要一边看着一边琢磨着
【在 n****1 的大作中提到】 : TUI里面的编程级别也太底层了, 基本没有UI抽象, 你只能用C, 要自己malloc/free, : 最重要的是基本没人会和你合作. : 你要真想弄一个,我建议写个html + js web app. 网络层流量和terminal差不多,客户 : 端的灵活性完全不是一个级别. 现成的开源库很多, 社区也很庞大. 估计最后的产品就 : 是个高度精简优化的了的google spreadsheet.
|
n******7 发帖数: 12463 | 16 sqlite跟mysql有啥不同?
好像就是灵活一些的mysql?
我会用mysql,但是为了看一下一个table里面有啥就要import到database有点牛刀杀鸡了
用R都比这方便很多...
另外,我们cluster不让跑数据库服务
开始我不知道,自己nohup运行了一个用户级别的mysql daemon,被管理员说了
c
【在 n****1 的大作中提到】 : 如果你的表结构固定, 每列的类型也固定, 那么我觉得终极方案是sqlite数据库 : sqlite有直接import csv的功能,你可以参见 : http://stackoverflow.com/questions/6324434/how-do-i-speed-up-th : import以后,你可以归总/排序,可以和R/Python配合搞统计,总之是爱干啥干啥, 比写c : 程序爽多了.最重要的是SQL是非常有用的技能.
|
n******7 发帖数: 12463 | 17 买买提也可以用term的
就是看图片不方便
按说可以用bufferframe 在terminal下面看图的
【在 j*********n 的大作中提到】 : 俺是用终端灌水留下来的毛病,觉得这样效率很高阿,占用资源也少
|
n****1 发帖数: 1136 | 18 sqlite就是文件版的mysql, 不需要daemon, 用命来行 INSERT/UPDATE/QUERY. 不过看
你说事先不清楚表的形状, 那sqlite应该不适合.
你的那些文件有多大呢? 有没有试过sshfs? 这个可以直接把cluster上的文件夹挂载到本
地某个空文件夹, 然后就可以像对待本地文件一样,爱干啥干啥了.(连chromebook都自
带sshfs的)
我觉得你好像在为了用TUI而用TUI.
鸡了
【在 n******7 的大作中提到】 : sqlite跟mysql有啥不同? : 好像就是灵活一些的mysql? : 我会用mysql,但是为了看一下一个table里面有啥就要import到database有点牛刀杀鸡了 : 用R都比这方便很多... : 另外,我们cluster不让跑数据库服务 : 开始我不知道,自己nohup运行了一个用户级别的mysql daemon,被管理员说了 : : c
|
n******7 发帖数: 12463 | 19 对,你说的这个也是我现在用的sulotion
我用的是SFTP Net Drive Free,有空试试你说的这个软件
不足是还是有文件传输,目录刷新等过程,要等
比较大的文件得先head一下
我的理想情况就是,在server上配好了,随便抓一台电脑
都可以ssh过去很好的做事情
BTW, 你说的这个sqlite似乎不错,挺喜欢,有空看看
我一直琢磨这样一个东西 文件版的sql
因为我经常用shell命令做一些简单的summary,比如
cut -f x xxx.txt | sort | uniq -c
跟我mysql里面
select count(xxx),xxx from xxx group by xxx;一个样
还省事多了
到本
【在 n****1 的大作中提到】 : sqlite就是文件版的mysql, 不需要daemon, 用命来行 INSERT/UPDATE/QUERY. 不过看 : 你说事先不清楚表的形状, 那sqlite应该不适合. : 你的那些文件有多大呢? 有没有试过sshfs? 这个可以直接把cluster上的文件夹挂载到本 : 地某个空文件夹, 然后就可以像对待本地文件一样,爱干啥干啥了.(连chromebook都自 : 带sshfs的) : 我觉得你好像在为了用TUI而用TUI. : : 鸡了
|
n****1 发帖数: 1136 | 20 Don't wait, try it now, on any linux desktop/laptop, you will be amazed!
sshfs username@address:/target /dest
所有文件传输,目录刷新都是under the hook, 你都意识不到有传输这么回事.
缺点就是windows不能这样, linux天然支持, OSX上装个macfuse也行.
【在 n******7 的大作中提到】 : 对,你说的这个也是我现在用的sulotion : 我用的是SFTP Net Drive Free,有空试试你说的这个软件 : 不足是还是有文件传输,目录刷新等过程,要等 : 比较大的文件得先head一下 : 我的理想情况就是,在server上配好了,随便抓一台电脑 : 都可以ssh过去很好的做事情 : BTW, 你说的这个sqlite似乎不错,挺喜欢,有空看看 : 我一直琢磨这样一个东西 文件版的sql : 因为我经常用shell命令做一些简单的summary,比如 : cut -f x xxx.txt | sort | uniq -c
|
|
|
n******7 发帖数: 12463 | 21 thanks
可怜我用windows做桌面的..
【在 n****1 的大作中提到】 : Don't wait, try it now, on any linux desktop/laptop, you will be amazed! : sshfs username@address:/target /dest : 所有文件传输,目录刷新都是under the hook, 你都意识不到有传输这么回事. : 缺点就是windows不能这样, linux天然支持, OSX上装个macfuse也行.
|
n****1 发帖数: 1136 | 22 Get a Mac, or consider this as an excuse for a chromebook :)
【在 n******7 的大作中提到】 : thanks : 可怜我用windows做桌面的..
|
n******7 发帖数: 12463 | 23 office的机器,不好随便换
Linux我也装过,因为ms office,还是切回win了
自己也不能再买电脑了
我已经有两个笔记本 一个台机了
有个MBA出门开会专用,还不错
这两年还买过其他三个笔记本
其中一个廉价富士通本来买来做Linux专用机的
结果装了几次Linux都是一屏保就CPU巨慢,输入密码都不能
一怒之下卖了,想想真蛋疼
【在 n****1 的大作中提到】 : Get a Mac, or consider this as an excuse for a chromebook :)
|
m**k 发帖数: 290 | 24
https://code.google.com/p/win-sshfs/
works pretty good for windows
【在 n****1 的大作中提到】 : Get a Mac, or consider this as an excuse for a chromebook :)
|
n******7 发帖数: 12463 | 25 不错,试试看
thx
【在 m**k 的大作中提到】 : : https://code.google.com/p/win-sshfs/ : works pretty good for windows
|