简体   繁体   English

如何用sed命令替换特定字符的字符串

[英]How to replace a string of specific characters with sed command

I want to use the sed command to delete some specific strings. 我想使用sed命令删除一些特定的字符串。

This is the file(tRNA.fa): 这是文件(tRNA.fa):

>tRNA-Ala-AGC-1-1 (chrII.trna5-AlaAGC) chrII:4565386-4565457 (+) Ala (AGC) 72 bp Sc: 72.4
GGGGGTATAGCTCAGTGGTAGAGCGCTCCCTTAGCATGGGAGAGGgCTGGGGTTCAATTC
CCCATACCTCCA
>tRNA-Ala-AGC-1-10 (chrX.trna261-AlaAGC) chrX:7378738-7378809 (-) Ala (AGC) 72 bp Sc: 72.4
GGGGGTATAGCTCAGTGGTAGAGCGCTCCCTTAGCATGGGAGAGGgCTGGGGTTCAATTC
CCCATACCTCCA
>tRNA-Ala-AGC-1-11 (chrX.trna260-AlaAGC) chrX:7507245-7507316 (-) Ala (AGC) 72 bp Sc: 72.4
GGGGGTATAGCTCAGTGGTAGAGCGCTCCCTTAGCATGGGAGAGGgCTGGGGTTCAATTC
CCCATACCTCCA

I just want to keep “>tRNA-XXX-XXX-XX”and the next line. 我只想保留“> tRNA-XXX-XXX-XX”和下一行。

So,I tried to replace unnecessary information with sed command: 所以,我试图用sed命令替换不必要的信息:

sed -i 's/\(.*\).*[0-9]$//g' tRNA.fa

However,I deleted all the line starting with '>'. 但是,我删除了所有以“>”开头的行。

The result I hope to get is: 我希望得到的结果是:

>tRNA-Ala-AGC-1-1 
GGGGGTATAGCTCAGTGGTAGAGCGCTCCCTTAGCATGGGAGAGGgCTGGGGTTCAATTC
CCCATACCTCCA
>tRNA-Ala-AGC-1-10 
GGGGGTATAGCTCAGTGGTAGAGCGCTCCCTTAGCATGGGAGAGGgCTGGGGTTCAATTC
CCCATACCTCCA
>tRNA-Ala-AGC-1-11 
GGGGGTATAGCTCAGTGGTAGAGCGCTCCCTTAGCATGGGAGAGGgCTGGGGTTCAATTC
CCCATACCTCCA

If you know how to replace it, please tell me,thank you. 如果您知道如何更换它,请告诉我,谢谢。

If you want to match a ( don't escape it. 如果要匹配(请不要转义。

sed -i 's/(.*).*[0-9]$//g' tRNA.fa

But really the following is just enough to remove everything after ( : 但实际上以下内容足以删除( :之后的所有内容

sed -i 's/(.*//' tRNA.fa

Note that you may also want s/ (.*// to remove that space before ( too. 请注意,您可能还需要s/ (.*//之前删除空间(太。

The \\(...\\) is used to group expression into a subgroup. \\(...\\)用于将表达式分组为一个子组。 It is most often used for back references, but may also be used for example as \\(abc\\)* - will search zero or more occurrences of the string "abc" . 它最常用于反向引用,但也可以用作\\(abc\\)* -将搜索零个或多个出现的字符串"abc"

Here is a great sed introduction. 是一个很棒的sed简介。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM