sedと正規表現を使用してパターンを見つけて最後の数文字を削除するにはどうすればよいですか?

sedと正規表現を使用してパターンを見つけて最後の数文字を削除するにはどうすればよいですか?

Parent=gopAga1_...........-R.;パターンがあるすべての行から-R *を削除する必要があるgffファイルがあります。

単一遺伝子のファイル構造を以下に示しますが、ファイル内のすべての遺伝子に対してグローバルな変更を行う必要があります。

>2446   17292   .   +   .   ID=gopAga1_00004497-RA;Parent=gopAga1_00004497;Name=gopAga1_00004497-RA;Alias=augustus_masked-scaffold4362-processed-gene-0.0-mRNA-1;_AED=0.12;_QI=0|0.8|0.81|1|1|1|11|1368|404;_eAED=0.12;Note=Similar to PLAT: Tissue-type plasminogen activator (Pongo abelii);

>scaffold4362   maker   exon    2446    2545    .   +   .   ID=gopAga1_00004497-RA:exon:4045;Parent=gopAga1_00004497-RA;

>scaffold4362   maker   exon    6721    6834    .   +   .   ID=gopAga1_00004497-RA:exon:4046;Parent=gopAga1_00004497-RA;

>scaffold4362   maker   exon    7241    7415    .   +   .   ID=gopAga1_00004497-RA:exon:4047;Parent=gopAga1_00004497-RA;

>scaffold4362   maker   exon    10114   10205   .   +   .   ID=gopAga1_00004497-RA:exon:4048;Parent=gopAga1_00004497-RA;

>scaffold4362   maker   exon    10478   10649   .   +   .   ID=gopAga1_00004497-RA:exon:4049;Parent=gopAga1_00004497-RA;

>scaffold4362   maker   exon    11037   11122   .   +   .   ID=gopAga1_00004497-RA:exon:4050;Parent=gopAga1_00004497-RA;

>scaffold4362   maker   exon    11518   11713   .   +   .   ID=gopAga1_00004497-RA:exon:4051;Parent=gopAga1_00004497-RA;

>scaffold4362   maker   exon    12794   12930   .   +   .   ID=gopAga1_00004497-RA:exon:4052;Parent=gopAga1_00004497-RA;

>scaffold4362   maker   exon    13006   13146   .   +   .   ID=gopAga1_00004497-RA:exon:4053;Parent=gopAga1_00004497-RA;

>scaffold4362   maker   exon    14920   15047   .   +   .   ID=gopAga1_00004497-RA:exon:4054;Parent=gopAga1_00004497-RA;

>scaffold4362   maker   exon    16051   17292   .   +   .   ID=gopAga1_00004497-RA:exon:4055;Parent=gopAga1_00004497-RA;

私はパターンを見つけるためにsedを使用していますが、行の最後の数字とセミコロンの間のすべての内容を削除するためにsedを使用する方法がわかりません。

現在のスクリプトは機能しますか?予想される出力は次のとおりです。

sed 's/Parent=gopAga1_.....-R.;$/Parent=gopAga1.....;/ gop.gff

>2446   17292   .   +   .   ID=gopAga1_00004497-RA;Parent=gopAga1_00004497;Name=gopAga1_00004497-RA;Alias=augustus_masked-scaffold4362-processed-gene-0.0-mRNA-1;_AED=0.12;_QI=0|0.8|0.81|1|1|1|11|1368|404;_eAED=0.12;Note=Similar to PLAT: Tissue-type plasminogen activator (Pongo abelii);

>scaffold4362   maker   exon    2446    2545    .   +   .   ID=gopAga1_00004497-RA:exon:4045;Parent=gopAga1_00004497;

>scaffold4362   maker   exon    6721    6834    .   +   .   ID=gopAga1_00004497-RA:exon:4046;Parent=gopAga1_00004497;

>scaffold4362   maker   exon    7241    7415    .   +   .   ID=gopAga1_00004497-RA:exon:4047;Parent=gopAga1_00004497;

>scaffold4362   maker   exon    10114   10205   .   +   .   ID=gopAga1_00004497-RA:exon:4048;Parent=gopAga1_00004497;

>scaffold4362   maker   exon    10478   10649   .   +   .   ID=gopAga1_00004497-RA:exon:4049;Parent=gopAga1_00004497;

>scaffold4362   maker   exon    11037   11122   .   +   .   ID=gopAga1_00004497-RA:exon:4050;Parent=gopAga1_00004497;

>scaffold4362   maker   exon    11518   11713   .   +   .   ID=gopAga1_00004497-RA:exon:4051;Parent=gopAga1_00004497;

>scaffold4362   maker   exon    12794   12930   .   +   .   ID=gopAga1_00004497-RA:exon:4052;Parent=gopAga1_00004497;

>scaffold4362   maker   exon    13006   13146   .   +   .   ID=gopAga1_00004497-RA:exon:4053;Parent=gopAga1_00004497;

>scaffold4362   maker   exon    14920   15047   .   +   .   ID=gopAga1_00004497-RA:exon:4054;Parent=gopAga1_00004497;

>scaffold4362   maker   exon    16051   17292   .   +   .   ID=gopAga1_00004497-RA:exon:4055;Parent=gopAga1_00004497;

ベストアンサー1

おそらく:

sed 's/-R[^;]*;$/;/'

または

awk -F ';' -f OFS=';' '{sub(/-R.*/, "",$(NF-1))}; 1'

おすすめ記事