我有这样的行:
MSTRG.203.1_294_561:MSTRG.203:nc:376:66.2526979530472:39.7492003264262 2 223 4 no
我想删除第一个冒号和第一个制表符之间的所有内容,因此结果应该如下所示:
MSTRG.203.1_294_561 2 223 4 no
有没有办法用 sed 做到这一点?我尝试了很多不同的方法,但没有一种方法很接近。谢谢!
最佳答案
第 1 种解决方案:如果您的 Input_file 与所示示例相同,则以下内容可能对您有帮助。
awk -F':| ' '{print $1,$9,$12,$13,$16}' Input_file
输出如下。
MSTRG.203.1_294_561 2 223 4 no
解决方案 2: 或比前一个更短。
awk '{sub(/:.*/,"",$1)} 1' Input_file
解决方案 3: 这里也有一个 sed 解决方案。
sed 's/\([^:]*\)\([^ ]*\)\(.*\)/\1\3/' Input_file
关于linux - 删除第一个冒号和第一个制表符之间的所有内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46685974/