就是默认的eshell,没有加任何的配置。awk 处理的文件列稍微有点多68列,行不多不到100行,然后多弄了几下eshell的buffer就死了。而且,同样的awk命令,在eshell中的滚屏速度比在OS原生的terminal中慢很多:在eshell中像80286的反应、在原生terminal中看不到滚屏过程回车之后马上只能看到最后一屏输出。
大家的eshell都是这么慢的吗?
我用的老的mac 高清本儿。macOS10.10
就是默认的eshell,没有加任何的配置。awk 处理的文件列稍微有点多68列,行不多不到100行,然后多弄了几下eshell的buffer就死了。而且,同样的awk命令,在eshell中的滚屏速度比在OS原生的terminal中慢很多:在eshell中像80286的反应、在原生terminal中看不到滚屏过程回车之后马上只能看到最后一屏输出。
大家的eshell都是这么慢的吗?
我用的老的mac 高清本儿。macOS10.10
你要不把你文件和处理的命令发上来,不然怎么测试
抱歉呀,我不能上传非jpg的文件。 |o|
我试试硬贴到这里 数据是b.txt
| 问卷 | 用户ID | 答题时长 | 提交时间 | 性别 | 年龄 | 地域 | 兴趣关注 | 消费水平 | Q1.麦哲伦环球航行成功后,人们才_____地球原来是圆的。【单选】 | "Q1.麦哲伦环球航行成功后,人们才_____地球原来是圆的。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q1.麦哲伦环球航行成功后,人们才_____地球原来是圆的。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q1.麦哲伦环球航行成功后,人们才_____地球原来是圆的。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q2.中国古时,人们看到天是弧形的,地是平的,所以_____我们居住的地方是天圆地方的。【单选】 | "Q2.中国古时,人们看到天是弧形的,地是平的,所以_____我们居住的地方是天圆地方的。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q2.中国古时,人们看到天是弧形的,地是平的,所以_____我们居住的地方是天圆地方的。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q2.中国古时,人们看到天是弧形的,地是平的,所以_____我们居住的地方是天圆地方的。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q3.天气预报说下午有大雨,小红看着窗外黑沉沉的天空,______快要下雨了。【单选】 | "Q3.天气预报说下午有大雨,小红看着窗外黑沉沉的天空,______快要下雨了。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q3.天气预报说下午有大雨,小红看着窗外黑沉沉的天空,______快要下雨了。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q3.天气预报说下午有大雨,小红看着窗外黑沉沉的天空,______快要下雨了。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q4.小明从小就胖,同学们都叫他“小胖”,可他奶奶总_____他吃得不够多。【单选】 | "Q4.小明从小就胖,同学们都叫他“小胖”,可他奶奶总_____他吃得不够多。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q4.小明从小就胖,同学们都叫他“小胖”,可他奶奶总_____他吃得不够多。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q4.小明从小就胖,同学们都叫他“小胖”,可他奶奶总_____他吃得不够多。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | "Q5.同学____ 小明摔得很痛。【单选】" | "Q5.同学____ 小明摔得很痛。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q5.同学____ 小明摔得很痛。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q5.同学____ 小明摔得很痛。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q6.小明______摔得很痛。【单选】 | "Q6.小明______摔得很痛。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q6.小明______摔得很痛。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q6.小明______摔得很痛。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q7.我们______卖火柴的小女孩很想吃橱窗里美味的食物。【单选】 | "Q7.我们______卖火柴的小女孩很想吃橱窗里美味的食物。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q7.我们______卖火柴的小女孩很想吃橱窗里美味的食物。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q7.我们______卖火柴的小女孩很想吃橱窗里美味的食物。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q8.卖火柴的小女孩_______很想吃橱窗里美味的食物。【单选】 | "Q8.卖火柴的小女孩_______很想吃橱窗里美味的食物。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q8.卖火柴的小女孩_______很想吃橱窗里美味的食物。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q8.卖火柴的小女孩_______很想吃橱窗里美味的食物。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q9.大家_____小玉今天非常高兴。【单选】 | "Q9.大家_____小玉今天非常高兴。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q9.大家_____小玉今天非常高兴。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q9.大家_____小玉今天非常高兴。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q10.小玉_____今天非常高兴。【单选】 | "Q10.小玉_____今天非常高兴。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q10.小玉_____今天非常高兴。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q10.小玉_____今天非常高兴。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q11.她痛苦地瘫倒在地,任由大雨冲刷她惨白的脸。她_____她的爱人永远也回不来了。【单选】 | "Q11.她痛苦地瘫倒在地,任由大雨冲刷她惨白的脸。她_____她的爱人永远也回不来了。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q11.她痛苦地瘫倒在地,任由大雨冲刷她惨白的脸。她_____她的爱人永远也回不来了。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q11.她痛苦地瘫倒在地,任由大雨冲刷她惨白的脸。她_____她的爱人永远也回不来了。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q12.我______妹妹很伤心。【单选】 | "Q12.我______妹妹很伤心。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q12.我______妹妹很伤心。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q12.我______妹妹很伤心。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q13.妹妹______很伤心。【单选】 | "Q13.妹妹______很伤心。【单选】-知道 (a. 自然 b. 不自然 c. 语法有问题)" | "Q13.妹妹______很伤心。【单选】-觉得 (a. 自然 b. 不自然 c. 语法有问题)" | "Q13.妹妹______很伤心。【单选】-认为 (a. 自然 b. 不自然 c. 语法有问题)" | Q14.您的性别【单选】 | Q15.您的年龄(数字即可)【单行填空】 | Q16.您的母语是汉语吗?【单选】 | Q16.您的母语是汉语吗?【单选】-不是,请说明: | |
|------+--------+----------+-----------------------+------+------+------+----------+----------+--------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+---------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------------------------+------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+-------------------------------------------------------------------------------------------------------------------------+--------------------------------------------+-------------------------------------------------------------------------------+-------------------------------------------------------------------------------+-------------------------------------------------------------------------------+--------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------+----------------------------------------------------------------------------+-------------------------------------------------------------+--------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------+--------------------------------------------------------------------------------------------------------+----------------------------------------------------------+-----------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+-----------------------------------------------------------------------------------------------------+--------------------------------------------+-----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+-----------------------------------------------------------------------------------+--------------------------------------------+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+--------------------------------------------------------------------------------+---------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+----------------------------------------------------------------------------------------------------------------------------------+--------------------------------------------+-----------------------------------------------------------------------------+-----------------------------------------------------------------------------+-----------------------------------------------------------------------------+--------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------------+---------------------------------------------------------------------------+----------------------+--------------------------------------+--------------------------------+-----------------------------------------------+---|
| B | 十*l | 80秒 | "2018-12-17 10:57:04" | | | | | | "知道 (a. 自然 b. 不自然 c. 语法有问题)" | b | | | "觉得 (a. 自然 b. 不自然 c. 语法有问题)" | | a | | "觉得 (a. 自然 b. 不自然 c. 语法有问题)" | | b | | "知道 (a. 自然 b. 不自然 c. 语法有问题)" | a | | | "觉得 (a. 自然 b. 不自然 c. 语法有问题)" | | b | | "认为 (a. 自然 b. 不自然 c. 语法有问题)" | | | a | "知道 (a. 自然 b. 不自然 c. 语法有问题)" | a | |
shell文件k.sh内容:
awk -F "|" '{print $2"|" $3"|" $4"|" $5"|" $6"|" $7"|" $8"|" $9"|" $10"|" $63"|" $62"|" $61"|" $60"|" $59"|" $58"|" $57"|" $56"|" $55"|" $54"|" $53"|" $52"|" $51"|" $50"|" $49"|" $48"|" $47"|" $46"|" $45"|" $44"|" $43"|" $42"|" $41"|" $40"|" $39"|" $38"|" $37"|" $36"|" $35"|" $34"|" $33"|" $32"|" $31"|" $30"|" $29"|" $28"|" $27"|" $26"|" $25"|" $24"|" $23"|" $22"|" $21"|" $20"|" $19"|" $18"|" $17"|" $16"|" $15"|" $14"|" $13"|" $12"|" $11"|" $64"|" $65"|" $67 }' b.txt
我的命令是:
> . ./k.sh | head -3
然后,多执行了几次,就死机了,用两次ctrl-c也没反应。
一个回复只能有32000个字符,我删除了大量数据只保留了3行,如果你能复制数据到电脑的文本中的话,可以把其中第3行数据复制到总共70行来进行测试。谢谢!
另外,你换头像了,弄个这种日系的萌妹纸了?
粘贴文本的话。可以用paste2或者ubuntu paste。甚至用Github的Gist(国内无法访问)。不过就我个人而言,我更喜欢用GitLab的snippet。
不好意思这才是正版pastebin
换很久了。原来的头像有点单调就换了。
我用Linux测试,很流畅啊。
试一下C-c C-k
?
我在eshell中,回退把提示符删掉几个字母后,buffer就死了。Mac 10.14.2, Emacs 26.1
一直感觉emacs的eshell, ansi-term这些像是残废版, 不好用. 之前试用了一下vim8内置的term, 真是爽
vterm勉强能用
后来我还是在操作系统的terminal中弄完了这个awk程序,输出了我想要的统计结果。
我的org文件有2M了(我故意的,想看看这个系统的极限表现),在里面建立一个新的entry,把这个66列,100行的数据用表格存放,即便关闭了行号(global-display-line-numbers-mode),org的表格列的重新排序操作就十分缓慢,所以才想到用awk来完成这个重排了列的操作。重排后继续用awk做了点统计。
以后再有这种数据操作,我还是用数据库吧。
若对时间不是太在意的话,用awk还是比较方便的。我去年一直在用awk解决问题,都是几万行或几十万行的数据,几十列。有时几百M,慢的时候5分钟。几天才需要这么一次处理,需求还会变,所以比较适合用脚本。
我处理的数据是东京JR电车的票据系统的数据,仅信用卡的购票数据一天就在50万条左右。
两个月之前还游在vim中,现在已经陷在emacs中了。就term这一块没vim在的好,不过libvterm是我遇到的最好的一个,已经接近原生的term了。
在emacs中的效果
您好!几百M文件,5分钟处理完,是在emacs的libvterm中还是在操作系统的原生terminal中呢?
这个倒没跑过,那个时候,我还不会用emacs呢
那是在os的terminal中了。我昨天也是在原生terminal中运行的。
我现在不在以前的项目了,我觉得这libvterm中应该也不差
好的,我试试这个。
另外一个朋友告诉我JR新宿站每天的吞吐量是100万人次,你觉得有没有?
不太清楚,反正新宿是个大站,客流量不小。每天东京JR线通过信用卡买票的就有50万条记录左右,用现金买票应该更多。上班的人,一般买月票,所以乘客量应该是50万的好几倍。除了JR线,还有地铁,私铁。因为,我上个项目,只处理信用卡相关的数据,所以,不清楚每天具体的乘客量。
楼歪了,不聊这些了。
好的,哈哈。新年快乐!
新年快乐!
新年明けましておめでとうございます!
新年发财哦!
后来我继续处理这个问题,基于某些列的值的不同进行分类统计,因为涉及到的要判断的列有50几列,所以awk的语句就很单调又啰嗦。后来还是把全部数据塞进数据库里面用select count(*) from tbl_name group by col_x, col_y, col_z…就高效率的统计出来了,然后因为执行sql语句的mysql命令行是在eshell中操作的,于是就两个buffer中来回移动光标,抄数据库的结果到org的表格中就成了,百分比这些嘛,直接用org的表格公式就成了。
不过在emacs中要把裸数据批量改成sql语句时候,我想把“每两个连续的空格删除掉”,emacs死机了,我是把这些数据拷贝到别的文件中单独处理的,不是在org大文件中处理的,还是死机了,是杀了emacs重启才能操作的。这个工作在系统原生的terminal中用vim完成的,vim还是有它的厉害的地方,底行命令只要没问题,回车键一敲,结果立现。相比于我emacs的僵死,我还是觉得两个都不能丢。可能emacs的死机和我的配置大多数是抄来的自己不清楚哪些冗余而导致的。
emacs,vim,mysql都是好东西,哈哈!
最后还是想说,数据库的group by子句,太厉害了。