微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

删除具有特定字符串的文本文件中的列

我想删除具有特定字符串“Gtype”的列.来自.txt制表符分隔文件.我已经在R:df< -df [,- grep(“GType.”,colnames(df))]中尝试过这个命令来完成这个任务.但是我的矩阵太大(超过13 GB),R无法处理它. (错误:无法分配大小的矢量....) 我的输入文件
Log.NE122  Gtype.NE122  Log.NE144    Gtype.NE144
-0.33          AA          1.0           AB

我的预期产量:

Log.NE122  Log.NE144  
    -0.33       1.0

我想知道它在bash中有效.如果有人有其他选择….

使用awk:
awk 'NR==1{for (i=1; i<=NF; i++) if ($i ~ /Gtype/) a[i]; 
     else printf "%s%s",$i,OFS; print ""; next}
     {for (i=1; i<=NF; i++) if (!(i in a)) printf "%s%s",OFS; print "" }' file
Log.NE122 Log.NE144
-0.33     1.0

原文地址:https://www.jb51.cc/bash/386906.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐