HWI-D00196:168:C66U5ANXX:3:1106:16404:19663 1:N:0:GCCAAT CCTAGCACCATGATTT-6ren">
gpt4 book ai didi

grep - 为什么我的 grep 命令在某些行之间输出 "--"?

转载 作者:行者123 更新时间:2023-12-01 08:15:06 27 4
gpt4 key购买 nike

我有一个像这里的测试文件一样的 fasta 文件:

>HWI-D00196:168:C66U5ANXX:3:1106:16404:19663 1:N:0:GCCAAT
CCTAGCACCATGATTTAATGTTTCTTTTGTACGTTCTTTCTTTGGAAACTGCACTTGTTGCAACCTTGCAAGCCATATAAACACATTTCAGATATAAGGCT
>HWI-D00196:168:C66U5ANXX:3:1106:16404:19663 2:N:0:GCCAAT
AAAACATAAATTTGAGCTTGACAAAAATTAAAAATGAGCCCAGCCTTATATCTGAAATGTGTTTATATGGCTTGCAAGGTTGCAACAAGTGCAGTTTCCAA
>HWI-D00196:168:C66U5ANXX:4:1304:10466:100132 1:N:0:GCCAAT
ATATTTGAATTATCAGAAATAAACACAAAGAAAACCTAGAACAGATAATTTCTTCCACATTATTGATCAGATACAGATTTCAAGGGTACCGTTGTGAATTG
>HWI-D00196:168:C66U5ANXX:4:1304:10466:100132 2:N:0:GCCAAT
AAACGATTGATAGATCTATTTGCATTATAAAAACATTAAAAAAACAAAATACTGATTAAATGTCGTCTTTCTATTCCACAATTTTATAGATCTCACTGTAT
>HWI-D00196:168:C66U5ANXX:4:1307:12056:64030 1:N:0:GCCAAT
CTTACTTTGCCTCTCTCAGCCAATGTCTCCTGAGTCTAATTTTTTGGAGGCTAAGCTATGAGCTAATGATGGGTTCCATTTGGGGCCAATGCTTCAGCCTG
>HWI-D00196:168:C66U5ANXX:4:1307:12056:64030 2:N:0:GCCAAT
CTATTAGTTCTTATCTTTGCCTGCAAATATAAGACTAGCGCTTGAGTAGCTGACAGAGACAAAGTAAGCTGGAGTGTTTATCACCTGGTCACTCCAATTGT

当我输入一个简单的 grep 命令时:
grep -B1 "CTT" test.fasta

我得到一个非常奇怪的输出,其中“--”有时被放置在 grep 命中上方的换行符上,如下所示:
>HWI-D00196:168:C66U5ANXX:4:1304:10466:100132 2:N:0:GCCAAT
AAACGATTGATAGATCTATTTGCATTATAAAAACATTAAAAAAACAAAATACTGATTAAATGTCGTCTTTCTATTCCACAATTTTATAGATCTCACTGTAT
--
>HWI-D00196:168:C66U5ANXX:4:1307:12056:64030 2:N:0:GCCAAT
CTATTAGTTCTTATCTTTGCCTGCAAATATAAGACTAGCGCTTGAGTAGCTGACAGAGACAAAGTAAGCTGGAGTGTTTATCACCTGGTCACTCCAATTGT

我不明白为什么有些 fasta 条目有这个而其他条目没有。当我删除 -B1 时,我没有遇到这个问题。我可以使用 grep -v "--" 从我的文件中删除这些行声明,但我真的很想了解这里发生了什么。

最佳答案

您正在使用 -B1 要求一行前导上下文选项。这意味着 grep 将同时显示匹配的行和它之前的行。每场比赛将被 -- 分隔在一行上,如下所示:

$ man grep | grep -B1 context
-A num, --after-context=num
Print num lines of trailing context after each match. See also
--
-B num, --before-context=num
Print num lines of leading context before each match. See also
--
-C[num, --context=num]
Print num lines of leading and trailing context surrounding each
--
--context[=num]
Print num lines of leading and trailing context. The default is

你没有看到的原因 --在每个匹配之间是上下文仅显示在连续匹配序列之上。所以看下面的例子:
seq 13 | grep -B1 1
1
--
9
10
11
12
13

seq 命令生成 1 到 13 之间的所有数字。只有第一行和从 10 开始的行包含 1,因此您可以在其自己的组中看到 1,然后 -- ,然后是一行上下文,然后是一组连续匹配的行。

关于grep - 为什么我的 grep 命令在某些行之间输出 "--"?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37958445/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com