「a」「c」「t」または「g」で始まらず、次の行が「>」で始まる場合は、行を削除したいと思います。次の例では、「`>> seq3」が削除されました。
入力する:
>seq1
actgatgac
>seq2
ctgacgtca
>seq3
>seq4
gtagctagt
>seq5
tgacatgca
予想出力:
>seq1
actgatgac
>seq2
ctgacgtca
>seq4
gtagctagt
>seq5
tgacatgca
私は成功せずにsed(sed '/^>.*/{$!N;/^>.*/!P;D}'
と)を使ってみました。sed '/^>/{$d;N;/^[aA;cC;gG;tT]/!D}'
ベストアンサー1
次のように試すことができます。
$ sed -e '$!N;/^>.*\n>/D' -e 'P;D' file
>seq1
actgatgac
>seq2
ctgacgtca
>seq4
gtagctagt
>seq5
tgacatgca
それは
- 2行のバッファを維持してください
$!N
...P;D
- 改行文字で始まり
>
、>
その後に別の改行文字があるパターンを探します。 - 改行文字まで削除