2011-11-28 68 views
1

我一直想知道這個問題; 說,我第一次嘗試從文件中grep的一些行:Bash grep某事。然後找到位置

cat 101127_2.bam |grep 'TGATTACTTGCTTTATTTTAGTGTTTAATTTGTTCTTTTCTAATAA' 

然後,它會彈出含有該字符串的整條生產線。 但是,我們可以使用一些簡單的bash代碼來定位此字符串所在的行嗎? (?100第1000 ...)

回答

4
grep -n 'TGATTACTTGCTTTATTTTAGTGTTTAATTTGTTCTTTTCTAATAA' 101127_2.bam 

我發現它使用man grep和寫作/line number

//編輯:感謝@Keith湯普森我編輯後從cat file | grep -n patterngrep -n pattern file,我是在一個趕緊抱歉

2

試試這個:

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

更好:'的grep - n'TGATTACTTGCTTTATTTTAGTGTTTAATTTGTTCTTTTCTAATAA'101127_2.bam'。 –

+4

哦,不!我急於回答我陷入[無用貓](http://www.partmaps.org/era/unix/award.html#cat)的問題。我很謙虛。 – SSteve

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