首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用bash统计文件中包含空格的模式的出现次数

使用bash统计文件中包含空格的模式的出现次数
EN

Stack Overflow用户
提问于 2019-02-01 05:32:36
回答 1查看 29关注 0票数 0

作为标题建议,我想计算一下包含空格或制表符的模式的出现次数。我试过了:

代码语言:javascript
运行
复制
grep -o ' 2L ' file | wc -l

代码语言:javascript
运行
复制
grep -o '\s2L\s' file | wc -l

但它打印的数字(仅为1)小于

代码语言:javascript
运行
复制
grep -o 2L file | wc -l

打印14567。模式[space]2L[space]经常出现在文件中。你的灵魂?

这里我展示了cat file输出的第一行:2L^Isplign_na_dbEST_ncbi^Imatch^I16299682^I16299851^I.^I-^I.^IID=Splign:0568174_na_dbEST_ncbi;Name=RP003180722.5prime-GH911198-na_dbEST_ncbi_20090309-splign;program=splign;programversion=1.0;sourcename=na_dbEST_ncbi;target_type=EST;Target=GH911198 1 171 +$ 2L^Isplign_na_dbEST_ncbi^Imatch_part^I16299682^I16299851^I100^I-^I.^IName=:ncbi_2178736;Parent=Splign:0568071_na_dbEST_ncbi;target_type=EST;Target=GH773194 1 170 +$ 2L^Isplign_na_dbEST_ncbi^Imatch_part^I16299682^I16299851^I100^I-^I.^IName=:ncbi_2178839;Parent=Splign:0568174_na_dbEST_ncbi;target_type=EST;Target=GH911198 1 171 +$ 2L^Isplign_na_dbEST_ncbi^Imatch_part^I16299682^I16299851^I99.41^I-^I.^IName=:ncbi_2178729;Parent=Splign:0568064_na_dbEST_ncbi;target_type=EST;Target=GH807525 1 170 +$ 2L^Isplign_na_dbEST_ncbi^Imatch_part^I16299682^I16299851^I99.41^I-^I.^IName=:ncbi_2178751;Parent=Splign:0568086_na_dbEST_ncbi;target_type=EST;Target=GH890956 1 178 +$ 2L^Isplign_na_dbEST_ncbi^Imatch^I16299682^I16299850^I.^I-^I.^IID=Splign:0568097_na_dbEST_ncbi;Name=RP003087707.5prime-GH857137-na_dbEST_ncbi_20090309-splign;program=splign;programversion=1.0;sourcename=na_dbEST_ncbi;target_type=EST;Target=GH857137 4 172 +$

less输出的一部分:

代码语言:javascript
运行
复制
##gff-version 3
##sequence-region 2L -204333 23011544
##species  http://www.ncbi.nlm.nih.gov/Taxonomy/Browser/wwwtax.cgi?id=7227
##genome-build FlyBase r5.21
2L      FlyBase chromosome_band -204333 1326937 .       +       .       ID=band-21_chromosome_band;Name=band-21
2L      FlyBase chromosome_band -204333 22221   .       +       .       ID=band-21A_chromosome_band;Name=band-21A
2L      FlyBase chromosome_band -204333 -153714 .       +       .       ID=band-21A1_chromosome_band;Name=band-21A1
2L      FlyBase breakpoint      -204333 -204333 .       .       .       ID=Df(2L)ED50001:bk1_breakpoint;Name=Df(2L)ED500
EN

回答 1

Stack Overflow用户

发布于 2019-02-01 06:04:25

看起来你在行的开头有pattern 2L,之后有一个制表符。

您可以使用这个简单的awk来获取计数:

代码语言:javascript
运行
复制
awk '$1 == "2L"{++c} END{print c}' file

使用grep,它将是:

代码语言:javascript
运行
复制
grep -c '^2L[[:blank:]]' file
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54469548

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档