GNU/Linux >> Tutoriels Linux >  >> Linux

Linux - Ajouter une colonne à un CSV qui est la somme des deux colonnes précédentes ?

J'essaie de manipuler un grand ensemble de données, mais je vais utiliser un exemple simple ici. J'essaie d'ajouter deux colonnes pour former une troisième colonne.

Saisir CSV

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

CSV de sortie souhaité

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

J'ai essayé la ligne ci-dessous et j'obtiens le mauvais résultat.

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

Réponse acceptée :

L'un ou l'autre :

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

Et pour ce que ça vaut, votre exemple dans la question a bien fonctionné pour moi. Localement et via l'outil 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. Linux - Comment faire en sorte que Sar s'affiche pour la veille ?

  2. Fichier de tri du shell Linux selon la deuxième colonne ?

  3. Ajouter une colonne à la fin du fichier CSV en utilisant 'awk' dans le script BASH

  4. Explication de la commande --update add pour Alpine Linux

  5. Utiliser awk pour additionner les valeurs d'une colonne, en fonction des valeurs d'une autre colonne

Deux outils graphiques pour manipuler des PDF sur le bureau Linux

Puissances de deux, puissances de Linux :2048 en ligne de commande

Comment ajouter du texte au début du fichier sous Linux

Linux - La colonne des tampons dans la sortie de Free ?

Apprendre les commandes de suppression d'utilisateur Linux ou d'ajout d'utilisateur Linux

Quel est le moyen le plus rapide de combiner deux fichiers ou plus sous Linux ?