1

以下のようなテキストファイルがあります。> 記号の後には PDB ID のみが必要です。awkでこれを行うにはどうすればよいですか?

>results for sequence "files/1H8U.pdb" starting "ASPILEGLUGLY"
DIEGREKQQPSRVS
>results for sequence "files/1P6K.pdb" starting "ILEALALYSASP"
IAKDVAKEGSDGATKQRTHPQDSASI

望ましい出力

>1H8U
DIEGREKQQPSRVS
>1P6K
IAKDVAKEGSDGATKQRTHPQDSASI
4

2 に答える 2

2

私はおそらくsedこれに使用するでしょうが、ここにawk

awk '/^>/ { sub (/[^\/]+\//,">", $0); sub (/\..+/, "", $0) }1' file.txt

は次のsedとおりです。

sed -r '/^>/s%[^/]+/%>%;s%\..+%%' file.txt
于 2012-09-09T09:40:44.453 に答える
1

これはあなたのために働くかもしれません:

awk -F[/.] '/^>/{$1=">"$2;NF=1};1' file

また:

sed '/^>.*\/\([^.]*\)\..*/s//>\1/' file
于 2012-09-09T13:19:05.130 に答える