Eliminar espacios de la primera columna del archivo delimitado por dos puntos

Eliminar espacios de la primera columna del archivo delimitado por dos puntos

Tengo un archivo muy grande delimitado por dos puntos con dos columnas:

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

Si la primera columna contiene un espacio, necesito eliminarlo (es decir, contraer el texto):

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

En otras palabras, todo lo que está a la izquierda de los dos puntos debe eliminarse de los espacios y todo lo que está a la derecha de los dos puntos debe permanecer intacto.

Sé cómo utilizar cut -d ":" f1para extraer la primera columna y tr -d '[[:blank:]]'filtrar los espacios o los caracteres de tabulación, pero luego tendría que volver a colocar esa columna en el archivo y esto parece una forma indirecta de hacer las cosas.

¿Cuál es la forma más eficiente de hacer lo que quiero aquí?

Respuesta1

Como eso:

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

información relacionada