パターンで始まる次の行を削除します。

パターンで始まる次の行を削除します。

「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
  • 改行文字で始まり>>その後に別の改行文字があるパターンを探します。
  • 改行文字まで削除

おすすめ記事