Entfernen Sie Leerzeichen aus der ersten Spalte der durch Doppelpunkte getrennten Datei

Entfernen Sie Leerzeichen aus der ersten Spalte der durch Doppelpunkte getrennten Datei

Ich habe eine sehr große, durch Doppelpunkte getrennte Datei mit zwei Spalten:

dhsj fdksjdk:dndkdlkfkd
shfdosod dkjsosjd:dkj dosjeod
dhswisoaidodisbw: dhsoi wjdos
fjfdododjfideefkjso sn:fhfdkd dkdjdf 

Wenn die erste Spalte ein Leerzeichen enthält, muss ich es entfernen (d. h. den Text zusammenfassen):

dhsjfdksjdk:dndkdlkfkd
shfdosoddkjsosjd:dkj dosjeod
dhswisoaidodisbw: dhsoi wjdos
fjfdododjfideefkjsosn:fhfdkd dkdjdf 

Mit anderen Worten: Alles links vom Doppelpunkt muss von Leerzeichen befreit werden und alles rechts vom Doppelpunkt muss unverändert bleiben.

Ich weiß, wie ich cut -d ":" f1die erste Spalte herausziehen und tr -d '[[:blank:]]'Leerzeichen oder Tabulatorzeichen herausfiltern kann, aber dann müsste ich diese Spalte wieder in die Datei einfügen und das scheint ein Umweg zu sein.

Was ist der effizienteste Weg, um das zu tun, was ich hier möchte?

Antwort1

So wie das:

$ awk -F: '{gsub(/ /, "", $1); print $1 FS $2}' FILE
dhsjfdksjdk:dndkdlkfkd
shfdosoddkjsosjd:dkj dosjeod
dhswisoaidodisbw: dhsoi wjdos
fjfdododjfideefkjsosn:fhfdkd dkdjdf

verwandte Informationen