콜론으로 구분된 파일의 첫 번째 열에서 공백을 제거합니다.

콜론으로 구분된 파일의 첫 번째 열에서 공백을 제거합니다.

두 개의 열이 있는 매우 큰 콜론으로 구분된 파일이 있습니다.

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

관련 정보