답변을 찾고 있었지만 몇 가지 혼란스러운 해결책을 찾았습니다. 다음과 같은 .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
일련번호가 어떻게 되었는지 모르겠습니다.
답변1
이것은 잘 작동합니다:
awk 'BEGIN{FS=OFS=","}{$0=$3 FS $1 FS $2}1'
답변2
perl -F, -ple '$_ = join ",", @F[2,0,1]'