コロンで区切られたファイルの最初の列からスペースを削除します

コロンで区切られたファイルの最初の列からスペースを削除します

2 つの列を持つ非常に大きなコロンで区切られたファイルがあります。

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

最初の列にスペースが含まれている場合は、それを削除する必要があります (つまり、テキストを折りたたむ必要があります)。

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

つまり、コロンより左側にあるものはすべてスペースを削除する必要があり、コロンより右側にあるものはすべてそのままにしておく必要があります。

cut -d ":" f1最初の列を取り出し、tr -d '[[:blank:]]'スペースやタブ文字を除外する方法はわかっていますが、その後、その列をファイルに戻す必要があり、これは回りくどい方法のように思えます。

ここで私がやりたいことを行う最も効率的な方法は何ですか?

答え1

こんな感じです:

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

関連情報