
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 ":" f1
para 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