Text-Processing
如何交換 .csv 文件中的某些列
我一直在尋找答案,但我發現只是混亂的解決方案,我有一個這樣的 .csv 文件:
device_id,ip_address,serial_number Arq_Laboratorios_EdifB, 148.228.134.000,FOC1518Z1G8 Arquitectura_Dir, 148.228.134.000,FOC1216U13V Arq.245, 148.228.134.000,FOC1352V3FE Barragan_3750, 148.228.134.000,FDO1129Z9ZJ
我只需要交換第 3 列和第 1 列,文件就變成了這樣:
serial_number,device_id,ip_address FOC1518Z1G8,Arq_Laboratorios_EdifB, 148.228.134.000 FOC1216U13V,Arquitectura_Dir, 148.228.134.000 FOC1352V3FE,Arq.245, 148.228.134.000 FDO1129Z9ZJ,Barragan_3750, 148.228.134.000
我很確定應該有一個使用 sed 或 awk 的簡單解決方案。
更新:使用這個 awk ‘BEGIN{FS=OFS=","}{a= $ 1; $ 1= $ 3; $ 3=a}1’ dispositivos.csv 這就是我得到的:
serial_number,ip_address,device_id , 148.228.134.000, Arq_Laboratorios_EdifB , 148.228.134.000, Arquitectura_Dir , 148.228.134.000, Arq.245 , 148.228.134.000, Barragan_3750
我不知道序列號發生了什麼。
這應該可以正常工作:
awk 'BEGIN{FS=OFS=","}{$0=$3 FS $1 FS $2}1'
perl -F, -ple '$_ = join ",", @F[2,0,1]'