GNU/Linux >> Linux Esercitazione >  >> Linux

Linux:aggiungi una colonna a un Csv che è una somma delle due colonne precedenti?

Sto cercando di manipolare un grande set di dati, ma qui userò un semplice esempio. Sto cercando di aggiungere due colonne per formare una terza colonna.

Inserisci CSV

1,11  
2,12
3,13
4,14
5,15

CSV di output desiderato

1,11,12
2,12,14
3,13,16
4,14,18
5,15,20

Ho provato la riga seguente e sto ottenendo l'output sbagliato.

awk -F, '{$3=$1+$2;} {print $1,$2,$3}' OFS=, filename.csv

Risposta accettata:

Uno di questi:

awk -F, '{print $1","$2","$1+$2}' filename.csv
awk -F, '{$0=$1","$2","$1+$2}1' filename.csv

E per quel che vale, il tuo esempio nella domanda ha funzionato bene per me. In locale e tramite lo strumento awk.js.org.

$ awk -F, '{$3=$1+$2;} {print $1,$2,$3}' OFS=, filename.csv
1,11,12
2,12,14
3,13,16
4,14,18
5,15,20
$


Linux
  1. emette la seconda colonna di un file

  2. Aggiungi colonna alla fine del file CSV utilizzando 'awk' nello script BASH

  3. Aggiungi un orario specifico durante l'utilizzo del comando linux date

  4. Spiegazione del comando --update add per Alpine Linux

  5. Qual è il modo più veloce per combinare due o più file in Linux?

Due strumenti grafici per manipolare i PDF sul desktop Linux

Poteri di due, poteri di Linux:2048 alla riga di comando

Come aggiungere testo all'inizio del file in Linux

Imparare i comandi Linux Elimina utente o Aggiungi utente Linux

Utilizzo di awk per sommare i valori di una colonna, in base ai valori di un'altra colonna

Come leggere la colonna IDLE nell'output del comando Linux 'w'?