Bash grep ......然后找到位置

时间:2011-11-28 22:53:01

标签: bash grep line

我一直在想这个问题; 说我首先尝试从文件中获取一些行:

cat 101127_2.bam |grep 'TGATTACTTGCTTTATTTTAGTGTTTAATTTGTTCTTTTCTAATAA'

然后它将弹出包含该字符串的整行。 但是,我们可以使用一些简单的bash代码来定位此字符串所在的行吗? (第100?1000?......)

3 个答案:

答案 0 :(得分:4)

grep -n 'TGATTACTTGCTTTATTTTAGTGTTTAATTTGTTCTTTTCTAATAA' 101127_2.bam

我发现它使用man grep并撰写/line number

//编辑:谢谢@Keith Thompson我正在编辑从cat file | grep -n patterngrep -n pattern file的帖子,我匆匆抱歉

答案 1 :(得分:2)

试试这个:

cat 101127_2.bam |grep -n 'TGATTACTTGCTTTATTTTAGTGTTTAATTTGTTCTTTTCTAATAA'

答案 2 :(得分:0)

这也可能对您有用:

sed '/TGATTACTTGCTTTATTTTAGTGTTTAATTTGTTCTTTTCTAATAA/=;d' 101127_2.bam

sed -n '/TGATTACTTGCTTTATTTTAGTGTTTAATTTGTTCTTTTCTAATAA/=' 101127_2.bam

以上解决方案仅输出匹配的行号,以查看匹配的行:

sed '/TGATTACTTGCTTTATTTTAGTGTTTAATTTGTTCTTTTCTAATAA/!d;=' 101127_2.bam

sed -n '/TGATTACTTGCTTTATTTTAGTGTTTAATTTGTTCTTTTCTAATAA/{=;p}' 101127_2.bam