.csv 파일의 특정 열을 바꾸는 방법

.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

일련번호가 어떻게 되었는지 모르겠습니다.

답변1

이것은 잘 작동합니다:

awk 'BEGIN{FS=OFS=","}{$0=$3 FS $1 FS $2}1'

답변2

perl -F, -ple '$_ = join ",", @F[2,0,1]'

관련 정보