1

私は再びテキストの変更に行き詰まっています。次のような大きなテキスト ファイルを変更したい:

>hg19_ct_UserTrack_3545_691 range=chr1:8121498-8121502 5'pad=0 3'pad=0 strand=+ repeatMasking=none
GATGG
>hg19_ct_UserTrack_3545_690 range=chr1:8121587-8121591 5'pad=0 3'pad=0 strand=+ repeatMasking=none
GATAG

>chr1:8121498-8121502 5'pad=0 3'pad=0 strand=+ repeatMasking=none
GATGG
>chr1:8121587-8121591 5'pad=0 3'pad=0 strand=+ repeatMasking=none
GATAG

sed '/^>/s/[^ ]* />/'最初の部分 ( >hg19_ct_UserTrack_3545_690)を削除するを使用してきましたが、 range=. andのさまざまな組み合わせを試しましたが、喜びは//ありません。grep

ありがとう

4

2 に答える 2

1

これらのさまざまなシェル コマンドを試してください =)

を使用:

awk -F'range=' '/^>/{print ">" $2}' file

またはで:

 sed '/^>/s/.*range=(.*)/>\1/' file
于 2013-03-01T10:45:15.410 に答える
1

この行を試してください:

sed 's/[^=>]*=//' file

あなたの入力でテストしてください:

kent$  echo ">hg19_ct_UserTrack_3545_691 range=chr1:8121498-8121502 5'pad=0 3'pad=0 strand=+ repeatMasking=none
GATGG
>hg19_ct_UserTrack_3545_690 range=chr1:8121587-8121591 5'pad=0 3'pad=0 strand=+ repeatMasking=none
GATAG"|sed 's/[^=>]*=//'
>chr1:8121498-8121502 5'pad=0 3'pad=0 strand=+ repeatMasking=none
GATGG
>chr1:8121587-8121591 5'pad=0 3'pad=0 strand=+ repeatMasking=none
GATAG
于 2013-03-01T10:47:22.337 に答える