下面是一個示例數據。請注意,此操作需要在具有數百萬條記錄的文件上完成,因此我需要最佳方法。本質上,我們正在尋找更新第二列的第四列的前兩個字符的連接,並且不包括第二列的前三個字段('_'分隔)。如何使用awk轉換具有多個分隔符的csv文件
我一直在嘗試使用剪切和逐行讀取文件,這是非常耗時的。我需要AWK一些類似
awk -F, '{print $1","substr($4,1,2)"_"cut -f4-6 -d'_'($2)","$3","$4","$5","$6}'
輸入數據:
234234234,123_33_3_11111_asdf_asadfas,01,06_1234,4325325432,2
234234234,123_11_2_234111_aadsvfcvxf_anfews,01,07_4444,423425432,2
234234234,123_33_3_11111_mlkvffdg_mlkfgufks,01,08_2342,436876532,2
234234234,123_33_3_11111_qewf_mkhsdf,01,09_68645,43234532,2
輸出要求爲:
234234234,06_11111_asdf_asadfas,01,06_1234,4325325432,2
234234234,07_234111_aadsvfcvxf_anfews,01,07_4444,423425432,2
234234234,08_11111_mlkvffdg_mlkfgufks,01,08_2342,436876532,2
234234234,09_11111_qewf_mkhsdf,01,09_68645,43234532,2
請編輯你的問題與你的企圖,以及有關哪裏出錯的任何細節。評論部分不適合這些信息。 –
另外,你確定'awk'對於這個特別有效嗎?比起類似Python的腳本解決方案? –
我更喜歡awk,因爲我們沒有在需要轉換這些數據的服務器上安裝python。請注意最大的文件需要這種變換是75 Gb –