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 回答