linux - 从多列文件中提取行

标签 linux awk

我有以下格式的数据集:

Identified_____ID#2357_____ReadSequence:1238  
Unknown_____0_____ReadSequence:0979  
Unknown_____0_____ReadSequence:5476  
Identified_____ID#567899_____ReadSequence:4376  

使用 awk 命令,如何提取 ReadSequences 但仅提取已识别的行(基于第一列条目)?

最佳答案

$ awk -F"_____" '$1=="Identified" {print $3}' test.in 
ReadSequence:1238
ReadSequence:4376

如果您只想要 ReadSequence id,gsub 是您的 friend :

$ awk -F"_____" '$1=="Identified" {gsub(/^.*:/,"",$3); print $3}' test.in 
1238
4376 

关于linux - 从多列文件中提取行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38476272/

相关文章:

linux - "One of Hyper-V components is not running",Windows Server 2012 中的 Linux?

linux - 合并两个 CSV,同时解析重复项

awk 在特定字段中搜索模式并替换其内容

linux - GAWK 中的 "Is in"条件

linux - 什么存储在线程的堆栈中?

regex - ngrep 如何使匹配表达式不区分大小写?

linux - BASH - 如何使用 sed 从网站中提取 URL

unix - 如何提取直接目录的名称和文件名?

linux - 模式解码二

Bash - 计算列的平均值和频率