行末のテキストをコピーして貼り付ける

行末のテキストをコピーして貼り付ける

長くて短いですが、選択した行の末尾をコピーしてその行にテキストを追加する方法はありますか?私が達成したいのはこれです。

私が所有しているもの

>13_gnd
atcg
>14_galF
atgc

私が望むもの

>13_gnd_gnd
atcg
>14_galF_galF
atgc    

したがって、最後の単語で始まるすべての行をコピーして行の>末尾に追加します。ありがとうございます。

ベストアンサー1

$ sed 's/_[^_]*$/&&/' file         
>13_gnd_gnd
atcg
>14_galF_galF
atgc

置換は、sed各行の最後の下線とその後のすべての項目(行の最後まで)と一致します。これはパターンが_[^_]*$実行することです(「アンダースコア以外の文字が後に続く可能性があるアンダースコアと行の末尾と一致する」)。そうだろう変えるこれは(下線付き)何でも2回一致します(&&代替ビットの内容です)。

ファイルのようだからfasta形式、ゲノム配列には下線を含めることができないため、行の先頭>に特別なテストは必要ありません。

おすすめ記事