次の形式の大きなテキストDNA配列ファイルがあります。
>name
AACTGGGCT
>で始まらない行は変更せずに残し、追加情報と特殊文字を使用して現在の名前行を解析する必要があります。
以下があります(「D 3」の間にスペースではなくタブ文字です)。
>GDRLR5L04EQY8D 3931|1166
GACAAACGCTGGCGGGTGCATGAG
考える:
>3931
GACAAACGCTGGCGGGTGCATGAG
最初の部分を削除しようとしましたが、sed 's/\>*[[:blank:]]/>/g'
動作しません。gawk
最後にパイプと数字を削除できますか?
ベストアンサー1
使用awk
:
awk -F'[| ]' '{if ( $1 ~ /^>/ ) print ">"$2; else print $0}' file
>3931
GACAAACGCTGGCGGGTGCATGAG
パイプの前の最初の文字列の終わりと数値セットの先頭の間のスペースがaのTab代わりにaの場合、Spaceフィールド区切り文字を設定する正規表現はです[|\t]
。