편집을 통해 쉼표로 구분된 필드 관리

편집을 통해 쉼표로 구분된 필드 관리

다음 텍스트가 있습니다.

Milk,10,2018,110

다음 출력으로 편집하고 싶습니다.

Milk 10/18 110 NONE NONE NONE NONE

다음과 같이 변환하세요.

  • 쉼표 제거
  • 구분 탭 사용
  • NONE NONE NONE NONE모든 메시지에 안정적인 단어로 추가되었습니다 .
  • 월과 연도를 편집합니다. 예를 들어 10,2018은 10/18입니다.

답변1

Awk해결책:

awk -F',' '{ printf "%s\t%s\t%s\tNONE\tNONE\tNONE\tNONE\n", $1, $2"/"substr($3, 3), $4 }' file

산출:

Milk    10/18   110 NONE    NONE    NONE    NONE

또는 다른 방법:

awk -F',' '{ $5=$6=$7=$8="NONE"; print $1,$2"/"substr($3, 3),$4,$5,$6,$7,$8 }' OFS='\t' file

답변2

‰ sed -e 's#\([^,]*\),\([^,]*\),..\([^,]*\),\(.*\)#\1 \2/\3 \4 NONE NONE NONE NONE#' <<< 'Milk,10,2018,110' Milk 10/18 110 NONE NONE NONE NONE

관련 정보