删除unix中.tab中列的一部分

时间:2013-12-04 22:15:02

标签: linux bash unix awk

有人可以帮忙!我正在尝试删除bash shell中以下列表的第二列中的最后一部分(“_cO”之后)。 E.G在此特定列表中显示“_seq1”。我不想更改其余列中的任何其他信息。 谢谢!

XP_003962102    comp1000054_c0_seq1 24.07   54  41  0   164 3   
XP_003962102    comp1000054_c0_seq1 24.07   54  41  0   164 3   
XP_003962102    comp1000054_c0_seq1 24.07   54  41  0   164 3   
XP_003962102    comp1000054_c0_seq1 24.07   54  41  0   164 3       

2 个答案:

答案 0 :(得分:1)

在这里,您可以使用sed进行简单替换:

sed -e s/_seq1//

答案 1 :(得分:0)

使用sed:

sed -i.bak 's/^\(.*_c0\)[^ ]*\( .*\)$/\1\2/' file

或使用awk:

awk '{sub(/_c0[^ ]*/, "_c0", $2)} 1' file