1

複数のエントリを含むファイルがあり、すべてのエントリのヘッダーを置き換えたいと考えています。

ファイルの内容は次のようになります。

>gi|215277009|ref|NR_024540.1| Homo sapiens WAS protein family homolog 7 pseudogene (WASH7P), non-coding RNA
RNARNARNARNARNA
>gi|389886562|ref|NR_046018.2| Homo sapiens DEAD/H (Asp-Glu-Ala-Asp/His) box helicase 11 like 1 (DDX11L1), non-coding RNA
MORERNARNARNARNA
RNARNARNARNARNA
...

そして、私はこのようなものを作りたい:

>NR_024540
RNARNARNARNARNA
>NR_046018
MORERNARNARNARNA
RNARNARNARNARNA

(テスト文字列で)実行すると正常に動作する正規表現を作成しましたperlが、(ubuntuで)次のコマンドを実行してsedも何も起こりません。このコマンドの何が問題になっていますか?

sed -ri 's/\>[\w\|]+\|ref\|(\w+)\.\d+\|.*/\>\1/g' rna_copy.fa
4

3 に答える 3

2

GNU のコード:

sed  -r 's/.*\|(\w+)\.[0-9]+\|.*/>\1/' file

$sed -r 's/.*\|(\w+)\.[0-9]+\|.*/>\1/' ファイル
>NR_024540
RNARNARNARNARNA
>NR_046018
もっとRNARNARNARNA
RNARNARNARNARNA

GNU sed は で動作しますが\w、 では動作しません\d

于 2013-06-22T18:50:22.020 に答える