csv 파일에서 열의 특정 부분 잘라내기 [닫기]

csv 파일에서 열의 특정 부분 잘라내기 [닫기]

약 15개의 열이 포함된 CSV를 처리해야 합니다. 그 중 하나에는 밀리초가 포함된 특정 타임스탬프가 포함되어 있습니다. 이 csv를 데이터베이스에 삽입하면 특정 시간 형식으로 인해 오류가 발생합니다. 다른 열은 건드릴 수 없지만 여섯 번째 열의 출력을 자르고 새 파일을 만들어야 합니다.

예는 다음과 같습니다:

73306758;Da Lavorare;;20300;RESTAROC;10/10/2014 16:37:22.425;PALAGIANO;TA;PUGLIA;;Libretto;IDENTITA;AI2000000;OK;DOC Valido;0;0;CCCMNN85X26X251X;OK;CF Attribuito;0;0

답변1

네 번째 열 뒤에 숫자가 오는 경우를 제거한다고 가정하면 :(질문에서는 여섯 번째 열이라고 말했지만 예제에서는 네 번째 열임) 다음 중 하나를 사용할 수 있습니다.

  1. awk -F';' -v OFS=";" '{sub(/\.[0-9]*$/,"",$6);}1;' file.csv > new.csv
    
  2. Perl(이것은 실제 파일을 변경하고 원본을 유지합니다 file.csv.bak)

    perl -i.bak -F';' -ane '$F[5]=~s/\.[0-9]*$//; print join ",", @F' file.csv
    

관련 정보