我正在尝试删除两个特殊字符中的字符串。
cluster10619: negl|c55742_graph_c0_seq1:99:213:3:+ phar|comp52619_c0_seq1 pres|comp29354_c0_seq1 rugi|comp46514_c0_seq1
例如,我想要删除之间的所有内容:和:+所以它将是
cluster10619: negl|c55742_graph_c0_seq1 phar|comp52619_c0_seq1 pres|comp29354_c0_seq1 rugi|comp46514_c0_seq1
不改变线的其余部分(有时它们很大!)
我试过了:sed "s/:.*:+//g"
但它完全删除了行的结尾
有什么想法吗?
答案 0 :(得分:1)
awk -F'|' -v OFS="|" '{sub(/:.*:\+/,"",$2)}7' file
测试你的输入:
kent$ echo "cluster10619: negl|c55742_graph_c0_seq1:99:213:3:+ phar|comp52619_c0_seq1 pres|comp29354_c0_seq1 rugi|comp46514_c0_seq1"|awk -F'|' -v OFS="|" '{sub(/:.*:\+/,"",$2)}7'
cluster10619: negl|c55742_graph_c0_seq1 phar|comp52619_c0_seq1 pres|comp29354_c0_seq1 rugi|comp46514_c0_seq1
答案 1 :(得分:0)
您可以尝试此sed
,
sed "s/:[0-9:]*:+//g" yourfile.txt