如何打印行的第一列以及特定模式?

图拉西

我试图在打印行的起始字符串的同时提取一个模式。输入

Saureus1000(37 genes,10 taxa):  Saureus08BA02176_00020(Saureus08BA02176) Saureus1269_00069(Saureus1269) Saureus170_00062(Saureus170) Saureus71193_00020(Saureus71193) SaureusED133_00019(SaureusED133) SaureusED98_00019(SaureusED98) SaureusLGA251_00019(SaureusLGA251) SaureusN305_00605(SaureusN305) SaureusRF122_00019(SaureusRF122) SaureusST398_00020(SaureusST398) Saureus08BA02176_01763(Saureus08BA02176) Saureus08BA02176_01805(Saureus08BA02176) Saureus08BA02176_01808(Saureus08BA02176) Saureus1269_01194(Saureus1269) Saureus1269_01237(Saureus1269) Saureus1269_01240(Saureus1269) Saureus71193_01635(Saureus71193) Saureus71193_01678(Saureus71193) Saureus71193_01681(Saureus71193) SaureusED133_01798(SaureusED133) SaureusED133_01840(SaureusED133) SaureusED133_01843(SaureusED133) SaureusED98_01777(SaureusED98) SaureusED98_01821(SaureusED98) SaureusED98_01824(SaureusED98) SaureusLGA251_01748(SaureusLGA251) SaureusLGA251_01790(SaureusLGA251) SaureusLGA251_01793(SaureusLGA251) SaureusN305_00013(SaureusN305) SaureusN305_00016(SaureusN305) SaureusN305_00059(SaureusN305) SaureusRF122_01807(SaureusRF122) SaureusRF122_01848(SaureusRF122) SaureusRF122_01851(SaureusRF122) SaureusST398_01884(SaureusST398) SaureusST398_01927(SaureusST398) SaureusST398_01930(SaureusST398)
Saureus1001(35 genes,12 taxa):  Saureus08BA02176_01441(Saureus08BA02176) Saureus1269_02301(Saureus1269) Saureus1269_02527(Saureus1269) Saureus71193_01310(Saureus71193) SaureusED98_01421(SaureusED98) SaureusED98_01424(SaureusED98) SaureusN305_02184(SaureusN305) SaureusN305_02188(SaureusN305) SaureusN305_02190(SaureusN305) SaureusRF122_01383(SaureusRF122) SaureusRF122_01386(SaureusRF122) SaureusST398_01476(SaureusST398) Saureus08BA02176_01442(Saureus08BA02176) Saureus08BA02176_01443(Saureus08BA02176) Saureus08BA02176_01445(Saureus08BA02176) Saureus1269_02302(Saureus1269) Saureus1269_02529(Saureus1269) Saureus1364_00430(Saureus1364) Saureus170_00571(Saureus170) Saureus170_00574(Saureus170) Saureus302_00352(Saureus302) Saureus302_00556(Saureus302) Saureus71193_01311(Saureus71193) Saureus71193_01312(Saureus71193) Saureus71193_01314(Saureus71193) SaureusED98_01423(SaureusED98) SaureusED98_01426(SaureusED98) SaureusLGA251_01423(SaureusLGA251) SaureusN305_02185(SaureusN305) SaureusN305_02187(SaureusN305) SaureusST398_01477(SaureusST398) SaureusST398_01478(SaureusST398) SaureusST398_01548(SaureusST398) SaureusED133_01465(SaureusED133) Saureus302_01433(Saureus302)

请求输出

Saureus1000 Saureus08BA02176_00020

我正在使用此代码查找但未在单行中获得所需的输出

awk '{print $1} {for(i=1;i<=NF;i++){if($i~/^Saureus08BA/){print $i}}}' file > test

此命令的输出

Saureus1000(37
Saureus08BA02176_00020(Saureus08BA02176)
Saureus08BA02176_01763(Saureus08BA02176)
Saureus08BA02176_01805(Saureus08BA02176)
Saureus08BA02176_01808(Saureus08BA02176)
Saureus1001(35
Saureus08BA02176_01441(Saureus08BA02176)
Saureus08BA02176_01442(Saureus08BA02176)
Saureus08BA02176_01443(Saureus08BA02176)
Saureus08BA02176_01445(Saureus08BA02176)
罗曼·佩雷克雷斯特

GNU awk解决方案:

awk 'match($0,/^([^(]+)\([^(]+(Saureus08BA[0-9]+_[0-9]+)/,a){ print a[1],a[2] }' file
  • ([^(]+) - 从第一个字段中捕获所需的部分

  • (Saureus08BA[0-9]+_[0-9]+)- 包含下一个“ Saureus ”项目的第二个捕获组

输出:

Saureus1000 Saureus08BA02176_00020
Saureus1001 Saureus08BA02176_01441

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

比较两个文件,使用共同的第一列和第二列打印行,并创建新表

来自分类Dev

打印第一列

来自分类Dev

如何从我的txt文件的第一列中打印前20条特定行?

来自分类Dev

如何在熊猫中将一列中的微秒转换为毫秒以及另一列中的聚合模式

来自分类Dev

如何仅计算最后一列中的连续空格并将总和打印到第一列

来自分类Dev

如何在当前行中打印下一行的第一列?

来自分类Dev

AWK-打印最后一列以及空值

来自分类Dev

如何使用awk将第一列和第二列的第一行打印为单列?

来自分类Dev

如何选择一些特定的solumns以及熊猫的最后一列

来自分类Dev

仅打印文件中具有唯一第一列和特定第三列值的那些行

来自分类Dev

在列中查找与第一列相同的字母并打印

来自分类Dev

仅打印第一列唯一的行

来自分类Dev

仅打印第一列唯一的行

来自分类Dev

如何使用awk将不包括第一列的csv文件打印到结尾

来自分类Dev

如何使用awk将不包括第一列的csv文件打印到结尾

来自分类Dev

仅在第一行匹配特定模式时才如何打印文件内容?

来自分类Dev

如何仅在第一列以及包含单词“ Total”作为菜单标题的列中过滤导入的数据

来自分类Dev

shell / awk-如果另一文件中存在一列,则打印行的某些字段

来自分类Dev

打印第一列不在列表中的行

来自分类Dev

使用awk打印多个文件的第一列

来自分类Dev

根据行号正确顺序在第一列中打印

来自分类Dev

如何使第一列大写?

来自分类Dev

如何让日期成为第一列?

来自分类Dev

如何使日期作为第一列

来自分类Dev

如何仅打印最后一列?

来自分类Dev

如何仅打印最后一列?

来自分类Dev

如何按顺序(即根据tcl脚本中的特定列排序)从文件中打印行?

来自分类Dev

如何使用 Linq Aggregate Query 打印行序列号以及 List<string> 中的一些数据?

来自分类Dev

如何删除第一列包含特定字符的所有行而不引用列名?

Related 相关文章

  1. 1

    比较两个文件,使用共同的第一列和第二列打印行,并创建新表

  2. 2

    打印第一列

  3. 3

    如何从我的txt文件的第一列中打印前20条特定行?

  4. 4

    如何在熊猫中将一列中的微秒转换为毫秒以及另一列中的聚合模式

  5. 5

    如何仅计算最后一列中的连续空格并将总和打印到第一列

  6. 6

    如何在当前行中打印下一行的第一列?

  7. 7

    AWK-打印最后一列以及空值

  8. 8

    如何使用awk将第一列和第二列的第一行打印为单列?

  9. 9

    如何选择一些特定的solumns以及熊猫的最后一列

  10. 10

    仅打印文件中具有唯一第一列和特定第三列值的那些行

  11. 11

    在列中查找与第一列相同的字母并打印

  12. 12

    仅打印第一列唯一的行

  13. 13

    仅打印第一列唯一的行

  14. 14

    如何使用awk将不包括第一列的csv文件打印到结尾

  15. 15

    如何使用awk将不包括第一列的csv文件打印到结尾

  16. 16

    仅在第一行匹配特定模式时才如何打印文件内容?

  17. 17

    如何仅在第一列以及包含单词“ Total”作为菜单标题的列中过滤导入的数据

  18. 18

    shell / awk-如果另一文件中存在一列,则打印行的某些字段

  19. 19

    打印第一列不在列表中的行

  20. 20

    使用awk打印多个文件的第一列

  21. 21

    根据行号正确顺序在第一列中打印

  22. 22

    如何使第一列大写?

  23. 23

    如何让日期成为第一列?

  24. 24

    如何使日期作为第一列

  25. 25

    如何仅打印最后一列?

  26. 26

    如何仅打印最后一列?

  27. 27

    如何按顺序(即根据tcl脚本中的特定列排序)从文件中打印行?

  28. 28

    如何使用 Linq Aggregate Query 打印行序列号以及 List<string> 中的一些数据?

  29. 29

    如何删除第一列包含特定字符的所有行而不引用列名?

热门标签

归档