É porque .*
corresponde a qualquer coisa (como é o caractere curinga da expressão regular) e pode e será expandido o máximo possível até a última guia ser vista (e abrangendo quaisquer outras guias no meio). O que você quer é [^\t]*
, que corresponderá a qualquer string que não contenha uma guia, então a combinação da sua chamada para sed deve ser assim: sed 's/ [^\t]*\t/\t/'