0

次のような、すでに行に分割されたシーケンスを含むファイルがあります。

CGCCCATGGGTCGTATACGTAATGGGAAAACAAAGCATGGTGTAACTATGGTAAGTGCTA
GACAATACAAGAAGGCTGATATTTGTAGAATAATTCATTTGAATTATTATGCTGTAAATA
GCTAGATTATTATGCATAATTACTTTGAGAGGTGATCAATCAATTCGACCCTTGCCAATT

たとえば、このファイルで特定のパターンを検索したいGCTGTAAATAGCTAGATTA。問題は、パターンが予期しない場所で改行によって切断される可能性があることです。

使うことができます :

grep -e "pattern" file 

しかし、「改行」文字を避けることができず、結果が得られません。\n検索でコマンドを無視するように変更するにはどうすればよいですか?

編集:クエリがファイルに存在するかどうかはわかりません。存在する場合は、どこに存在するかわかりません。

私の頭に浮かんだ最善の解決策は

tr -d '\n' < file | grep -e "CTACCCCAGACAAACTGGTCAGATACCAACCATCAGCGAAACTAACCAAACAAA"

しかし、それを行うためのより効率的な方法があるはずです。

4

1 に答える 1

-1
pattern="GCTGTAAATA"$'\n'"GCTAGATTA"  # $'\n' is Bash's way of mentioning special chars 
grep -e "$pattern" file 

また

pattern="GCTGTAAATA
GCTAGATTA"   # with an actual newline at the end of the first line
grep -e "$pattern" file 
于 2016-09-23T15:21:40.083 に答える