linux命令行卡死,实操| 数据太大,电脑卡死的魔咒,Linux命令来打破

主编语

数据量越来越大,你的电脑是不是经常卡死?一个Excel表格光打开就要花个几分钟,还要排序,查找合并??!!我的天,求上帝拯救我于数据的海洋,求赐予我无穷大的内存~ 主编告诉你,不用上帝拯救,你也能高效处理数据量大的表格数据~ linux命令学起来!!! 一听linux,好多读者脸都要吓绿了,那不是程序猿才能掌握的吗,我这么貌美如花,怎能学的会这个?其实就几个单词的事,聪明如你,不妨一试。 今天ActionFree邀请了linux大神&awk 专家伊移已奕 跟大家分享linux系统处理表格数据的常用命令~

温馨提示:技能的掌握需要孰能生巧,练习很重要哦~

大家如果用过Linux系统处理数据的话,往往都会惊叹于Linux系统高效的运行方式。然而,由于不熟悉Linux命令,很多人仍然会选择Excel来处理表格数据。Excel友好的界面固然能让数据更加整齐地展示出来,但是当数据较大(比如大于500M)时,很多PC往往就吃不消了。这个时候,使用Linux系统处理数据就显得尤为重要。本文将展示在处理表格数据时常用的一些命令。

取前面若干行:head命令

举例:取file1文件的前两行

代码:head -2 file1 > res

取后面若干行:tail命令

代码:tail -2 file1 > res

tail -n +3 file1 > res

取中间若干行:tail 和 head命令配合

代码:tail -n +2 file1 | head -2 > res

head -3 file1 | tail -2 > res

按行合并文件:cat命令

代码:cat file1 file2 > res

按列合并文件:paste命令

代码:paste file1 file2 > res

取若干列:cut命令

代码:cut -f3,4,5 file1 > res

cut -f3-5 file1 > res

cut -f3- file1 > res

合并多个文件中的某些列:paste命令

代码:paste res

awk常用

取对角线上的数:

代码:awk "{print $NR}" file1 > res

取对角线上的数:

代码:awk "BEGIN{ORS="\t"}{print $NR}" file1 > res

每两行变一行:

代码:awk "ORS=NR%2?"\t":"\n"" file1 > res

行列转置:

代码:awk "{for(i=1;i<=NF;i++)a[NR,i]=$i}END{for(i=1;i<=NF;i++){for(j=1;j<=NR;j++)printf a[j,i]"\t";printf "\n"}}" file1 > res

从file2中取file1中存在的内容:

代码:awk "NR==FNR{a[$0]=1}NR>FNR&&($1 in a){print}" file1 file2

从file2中取file1中不存在的内容:

代码:awk "NR==FNR{a[$0]=1}NR>FNR&&!($1 in a){print}" file1 file2

取两个文件中内容相同的行:

代码:awk "NR==FNR{a[$0]=1}NR>FNR&&($0 in a){print}" file1 file2

取两个文件中内容和行号均相同的行:

代码:awk "NR==FNR{a[NR]=$0}NR>FNR&&(a[FNR]==$0){print}" file1 file2

文件内容去冗余:

代码:awk "!a[$0]++" file1

小贴士

awk的功能可以实现很多需要编程的任务,实验狗学起来,可以应对几乎所有能遇到的数据问题,再也不用低三下四去求生信的同学给我写一段代码干这干那了。生信汪学起来,一行代码解决所有的需要整理数据的问题,高效还省空间。

总之,收藏起来,等有需要的时候来查阅就对啦!

大部分代码均可直接使用,应用到你的文件,只需要修改下文件名,有问题也可以留言哦

关注ActionFree喜欢请点赞哦

作者:伊移已奕

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值