我想删除具有特定字符串“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
我的预期产量:@H_301_4@
Log.NE122 Log.NE144 -0.33 1.0
我想知道它在bash中有效.如果有人有其他选择….@H_301_4@
使用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