
두 개의 열이 있는 매우 큰 콜론으로 구분된 파일이 있습니다.
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