regex - grep -c 值 NH :i:1 only for every line in file, 也不是 NH:i:12

标签 regex linux bash grep

cat samtry.txt | grep -c NH:i:1

请参阅下面的三行示例。大胆的信息才是最重要的

HWI-ST697:178:D1U9CACXX:1:2111:12787:5687   153 scaffold_1  33005   50  101M    *   0   0   GACTAAGGAAGTCATCTGCAGTGCCCCTTGCACTTCCTAATGGGACTTTCCCTGGTTGACTATTCTTACTATGAGAACAATGAGCACCAGCTTCATTCACA   DCDDDDDDDDDDDEEEEEEEEFGHGJIHGHFHJIJIJJIJJJJIHJJIJIIIFJJIGGGIJJJIIJJHIGJIJJJGHJJIJIJIGFJJGHHHHFFFFFCCC   AS:i:-11    XN:i:0  XM:i:2  XO:i:0  XG:i:0  NM:i:2  MD:Z:18T26G55YT:Z:UU    **NH:i:1**
HWI-ST697:178:D1U9CACXX:3:1310:18383:72540  89  scaffold_1  33005   50  101M    *   0   0   GACTAAGGAAGTCATCTGCAGTGCCCCTTGCACTTCCTAATGGGACTTTCCCTGGTTGACTATTCTTACTATGAGAACAATGAGCACCAGCTTCATTCACA   DDDDDDDDDDDDDEEEEEEFFFHHHIIJJIIIJIJJJJJJJJJJHJJJJJJJJJJJJJIJJJJJJJJIJJJIJJIJJJJJJJJIHFJJHHHHHFFFFFCCC   AS:i:-11    XN:i:0  XM:i:2  XO:i:0  XG:i:0  NM:i:2  MD:Z:18T26G55YT:Z:UU    **NH:i:11**
HWI-ST697:178:D1U9CACXX:7:1212:17559:76798  89  scaffold_1  33007   50  101M    *   0   0   CTAAGGAAGTCATCTGCAGTGCCCCTTGCACTTCCTAATGGGACTTTCCCTGGTTGACTATTCTTACTATGAGAACAATGAGCACCAGCTTCATTCACAAG   DDDDDDDDDDDDDEEEECDFFHGHIGJIIHJJJIIJJJJJJHHJJJJJJJJJJJIIIJJJJGIIGBJJIJJJJIJJJJJIHHHFJJIJHHHHGFFFFFCCC   AS:i:-11    XN:i:0  XM:i:2  XO:i:0  XG:i:0  NM:i:2  MD:Z:16T26G57YT:Z:UU    **NH:i:1**

我正在尝试使用 shell 脚本来计算包含以下正则表达式的制表符分隔文件(测试文件:samtry.txt,包含 10 行测试)中的所有行NH:i:1 问题当然是我得到了我想要的信息;但它也会计算具有以下结果的行:NH:i:1x(其中 x 是任何可能的数字:0-9) NH:i:x(x = 直到 50 左右的任何数字)的位置在文件的每一行中 20,它不是该行的最后一个位置。每行有 23 个“位置”。

有谁知道如何使用 grep 或其他工具执行此操作?

我有大约 100 个文件,每个文件的大小都在 3GB 左右,我不知道如何解决这个问题

我希望我能提供足够的信息,我很高兴每一个答案

最佳答案

尝试使用单词边界的 grep:

grep -c '\<NH:i:1\>' samtry.txt 

grep -w:

grep -wc 'NH:i:1' samtry.txt 

关于regex - grep -c 值 NH :i:1 only for every line in file, 也不是 NH:i:12,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20078285/

相关文章:

jquery 表单掩码 4 位数字 - 在选定的文本上 - 无法插入

javascript - JS中如何使用正则表达式替换该字符串?

regex - Sublime Text 2正则表达式与> 9个反向引用匹配

linux - Cassandra-i 能够通过 sudo 命令连接但无法通过 cqlsh 连接

regex - 如何获得 Regex.Split VB.NET 的相反结果?

C TCP 套接字 - 获取数据包目标名称

linux - 限制程序在 Linux 中运行的时间

linux - 如何同时将 bash 输出通过管道传输到文件和终端?

Bash:expect + scp:多个文件出现问题

linux - 传递别名作为函数参数linux bash