有一个文件我只想要里面的部分样本数据,文件结构如下:

$head -1 genus.xls
OTU ID    A1    A2    A3    M15B1    M15B2    M15B3    M15C1    M15C2    M15C3    M15D1    M15D2    M15D3    M15E1    M15E2    M15E3    M27B1    M27B2    M27B3    M27C1    M27C2    M27C3    M27D1    M27DM27D3    M27E1    M27E2    M27E3    R15b1    R15b2    R15b3    R15c1    R15c2    R15c3    R15d1    R15d2    R15d3    R15e1    R15e2    R15e3    R27b1    R27b2    R27b3    R27c1    R27c2    R27c3    R27d1    R27dR27d3    R27e1    R27e2    R27e3
0319-6G20_norank    17    22    21    44    24    24    6    15    34    17    18    7    55    29    32    46    78    61    13    2    27  37    61    72    55    146    196    26    24    19    17    16    4    77    45    27    58    47    36    48    37    141    13    28    10  38    87    61    62    83    119

要抓取的样本名:

$cat group.list
M15B1
M15B2
M15B3
M27B1
M27B2
M27B3
R15b1
R15b2
R15b3
R27b1
R27b2
R27b3

AWK实现:

$awk -F "\t" 'NR==FNR{a[$1]=1}NR>FNR{if(FNR==1){for(i=1;i<=NF;i++){if(a[$i]){num =num+1;b[num]=i;}}printf $1;for(i=1;i<=length(b);i++){printf "\t"$b[i]}print""}else{printf $1;for(i=1;i<=length(b);i++){printf "\t"$b[i]}print""}}' group.list genus.xls >select.txt

部分结果展示:

$head select.txt
OTU ID    M15B1    M15B2    M15B3    M27B1    M27B2    R15b1    R15b3    R27b2    R27b3
0319-6G20_norank    44    24    24    46    78    26    19    37    141
0319-6M6_norank    1    0    0    0    0    1    0    0    0
1921-2_norank    0    0    1    0    0    1    0    1    0
1921-3_norank    2    4    1    0    2    1    1    0    2
1959-1_norank    16    13    27    19    11    16    24    17    19
480-2_norank    57    41    84    52    51    40    45    39    52
ABS-19_norank    2    1    1    0    1    0    1    2    1
AKIW1012_norank    0    0    0    0    0    0    0    0    0
AKYH478_norank    0    0    0    0    0    0    0    0    0

处理过程是  先根据要挑选的样本名索取在文件第一行对应样本名的下标   然后根据样本下标提取每行信息

AWK print 默认在字符后面加换行符 printf 可以去除这个效果
参考路径:
https://blog.csdn.net/xuejinliang/article/details/51441971AWK读取多行文件
参考路径:
https://www.cnblogs.com/Berryxiong/p/6209332.html

转载于:https://www.cnblogs.com/xlij1205/p/10529625.html

awk 抓取文件子集相关推荐

  1. 用后羿采集器抓取文件并批量更改文件名

    引言 最近接触到了一款图形化爬虫,试用了一下还挺好用的,能省不少事,然而笔者在爬一个图片网站上发现这个软件要自己设置下载文件的文件名的功能居然是付费的!而且价格过于高昂所以笔者决定自己动手来给图片文件 ...

  2. python编写微信自动抓取文件经历

    python编写微信自动抓取文件经历 背景 前期 写代码&坑 背景 近期疫情肆虐,老师全都线上教学,微信群里多出来一大堆乱七八糟的文件,烦死宝宝了,每次还要看,要是doc还得转换成pdf再放进 ...

  3. 正则表达式抓取文件内容中的http链接地址

    转自:https://www.cnblogs.com/akiradunn/p/5855073.html 1 import java.io.BufferedReader; 2 3 import java ...

  4. java取邮箱前缀_java抓取网页或文件中的邮箱号码

    java抓取网页或文件中的邮箱号码 发布时间:2020-10-18 08:58:32 来源:脚本之家 阅读:69 作者:java大渣渣 本文实例为大家分享了java抓取邮箱号码的具体代码,供大家参考, ...

  5. 抓取特定路径下文件 可批量压缩成压缩包 并分享到微信

    创建文件类 public class GrabDataActivity extends FragmentActivity {private Context context; private TextV ...

  6. 搜索引擎只能抓取html文件,通过robots屏蔽搜索引擎抓取网站内容

    robots协议屏蔽搜索引擎抓取 Robots协议(也称为爬虫协议.机器人协议等)的全称是"网络爬虫排除标准"(Robots Exclusion Protocol),网站通过Rob ...

  7. IDM下载器:站点抓取相关设置介绍

    Internet Download Manager(简称IDM)是一款十分好用资源下载器,它的站点抓取功能不仅可以下载被过滤器指定所需文件,例如一个站点的所有图片,或者一个站点的所有音频,也可以下载站 ...

  8. Linux 日志抓取

    抓取日志,记录下工作中用到过的命令 cat 命令 抓取日志开头的前五个 cat error.log | head -n 5 抓取日志末尾的后五个 cat error.log | tail -n 5 h ...

  9. php图片截取后缀,PHP抓取远程图片(含不带后缀的)教程详解

    一.创建项目 作为演示,我们在www根目录创建项目grabimg,创建一个类GrabImage.php和一个index.php. 二.编写类代码 我们定义一个和文件名相同的类:GrabImage cl ...

最新文章

  1. flash特效原理:螺旋效果 (3)
  2. WEB框架原理(socket)
  3. SharePoint 集成OWA概述
  4. Scala代码案例:判断一个年份是否是闰年
  5. [html] 对一个元素设置浮动后,它的特征是什么?
  6. linux gfs原理,Linux GFS 配置方法及注意事项
  7. 你所坚信的,就是你的生活
  8. 服务器iis如何开启tlsv1.2协议,Windows系统中IIS启用TLS 1.2
  9. 安卓 spinner下拉框 做模糊查询_SEO数据查询工具
  10. Android 系统(233)---AOSP 代码管理
  11. 将CSV和SQL数据加载到Pandas中
  12. cmd xcopy 拷贝文件夹_u盘文件夹被病毒隐藏怎么解决 u盘文件夹被病毒隐藏解决方法【详细步骤】...
  13. 伍德里奇计量经济学第六版第七章计算机答案,伍德里奇计量经济学第六版答案Appendix-E...
  14. English 900 英语九百句
  15. 如何提取仙剑奇侠传4的模型
  16. /给你一个由 n 个整数组成的数组 nums ,和一个目标值 target 。请你找出并返回满足下述全部条件且不重复的四元组 [nums[a], nums[b], nums[c], nums[
  17. 沐阳JP1081B USB转网口 内核选项
  18. 一张显卡卖5-6万?Tesla计算卡你凭什么这么贵!
  19. template模板
  20. pandas小节 索引,排序

热门文章

  1. python里dir是什么意思_python中dir什么作用
  2. python文件替换一行_python基础_文件操作实现全文或单行替换的方法
  3. mysql cluster 安装_MYSQL Cluster安装攻略
  4. python怎么理解函数的参数_理解Python中函数的参数
  5. 计算机科学与技术的程序设计基础,程序设计基础
  6. php最常见代码,PHP常见算法合集代码实例
  7. python filter内置函数_python 内置函数filter
  8. 智能车竞赛视觉AI组总结 西南科技大学 – 西科二队
  9. 实验测试2SK241的g-s击穿电压
  10. 看直播赢大奖-智能物流技术培训