我必須處理包含大約 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
假設您想刪除:
第四列中後跟數字的任何情況(您在問題中說的是第六列,但在示例中是第四列),您可以使用以下之一:
awk
awk -F';' -v OFS=";" '{sub(/\.[0-9]*$/,"",$6);}1;' file.csv > new.csv
Perl(這會更改實際文件並保留原始文件
file.csv.bak
)perl -i.bak -F';' -ane '$F[5]=~s/\.[0-9]*$//; print join ",", @F' file.csv