Удалять конечные пробелы только из первого поля

У меня есть многострочный файл с разделителями табуляции, подобный этому:

99999 bbbbb t999999 bb t99t99t99t99

(где b = пробелы, t = вкладки)

Оборотные пробелы во втором поле в порядке, но конечные пробелы в первом поле необходимо удалить. Есть ли простой способ удалить конечные пробелы только из 1-го поля каждой строки? СЕПГ / AWK / тр?

sed $'s/ *\t/\t/' < file 

будет удалять пробелы перед первой вкладкой. Здесь предполагается, что оболочка, такая как ksh93, bash, zsh, mksh или FreeBSD sh с поддержкой $'...' (которая запланирована для включения в 8-й выпуск спецификации Single Unix).

Некоторые реализации sed такие как GNU sed также распознают те \t напрямую:

 sed 's/ *\t/\t/' file 

В противном случае, POSIXly, вы можете сделать:

 TAB=$(printf '\t') sed "s/ *$TAB/$TAB/" file 

Вы также можете сделать то же самое с awk POSIXly:

 awk '{sub(/ *\t/, "\t"); print}'