问题来源

我有两个文件,一个是plink过滤后得到的.fam文件(空格分隔);另一个是样本对应关系文件(tab分隔)。

文件1:



文件2:

两个文件匹配,awk常规操作。这里我想要保留文件2中和文件1第一二列匹配得到的样本(匹配后文件2的第一列)。当然这里两个文件数目是一样的,所以应该全部匹配才对(测试用)。

常规操作:

awk  '{if(NR==FNR){a[$1]}else if($2 in a)print $1}' file1.fam file2

发现少了两个样本,空格符分开的两个样。

定义下输入(FS)输出(OFS):

awk -v FS=' '  -v OFS='\t' '{if(NR==FNR){a[$1]}else if($2 in a)print $1}' file1.fam file2

结果是一样的,因为输入的分隔符一样。

当空白格和tab同时存在时,如何定义?如何得到正确的结果?

解决方法

在对应文件前分别指定FS即可。

awk  '{if(NR==FNR){a[$1]}else if($2 in a)print $1}' FS=" " file1.fam FS="\t" file2

https://stackoverflow.com/questions/24516141/processing-2-files-with-different-field-separators-using-awk

最新文章

  1. 微信企业号 获取AccessToken
  2. boost::function的用法
  3. Web jquery表格组件 JQGrid 的使用 - 从入门到精通 开篇及索引
  4. 探秘Tomcat——连接器和容器的优雅启动
  5. mysql relay log参数汇总
  6. 读书笔记和sprint总结
  7. three.js 相关概念
  8. 在windows下配置Eclipse + go环境
  9. linux下zip文件解压后乱码解决方案
  10. 解决TIME_WAIT过多问题
  11. LeetCode Weekly Contest 12
  12. arcgis engine 开发之QI
  13. mosquitto MQTT message broker on ubuntu/debian built from source
  14. 淘宝npm镜像使用方法
  15. appium使用真机做安卓移动端自动化测试
  16. BZOJ4403 序列统计—Lucas你好
  17. Hystrix-request cache(请求缓存)
  18. Dubbo框架应用之(二)--服务治理
  19. 小程序开发--template模板
  20. PowerBI与Visio

热门文章

  1. Kettle的安装及简单使用
  2. kiyv Button参数属性
  3. Spring Cloud Gateway Route Predicate Factory 的使用
  4. 转帖:新版vivado2019.2新增增量综合功能
  5. 前端---梳理 http 知识体系 1
  6. LOTO虚拟示波器软件功能演示之——FIR数字滤波
  7. 聊聊sql优化的15个小技巧
  8. 如何系统学习C 语言(下)之 预处理命令篇
  9. Part 20 Create custom service in AngularJS
  10. Part 11 to 20 Basic in C# continue