CSV 파일에서 열의 특정 부분 잘라내기

CSV 파일에서 열의 특정 부분 잘라내기

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

예는 다음과 같습니다:

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

4번째 열에서 숫자 뒤에 오는 모든 사례를 제거한다고 가정하면 :(질문에서는 6번째라고 말했지만 예에서는 4번째입니다) 다음 중 하나를 사용할 수 있습니다.

  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
    

관련 정보