GNU/Linux >> Tutoriales Linux >  >> Linux

Linux:¿agregar una columna a un CSV que es una suma de las dos columnas anteriores?

Estoy tratando de manipular un gran conjunto de datos, pero usaré un ejemplo simple aquí. Estoy tratando de agregar dos columnas para formar una tercera columna.

Introducir CSV

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

CSV de salida deseado

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

He estado probando la siguiente línea y obtengo un resultado incorrecto.

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

Respuesta aceptada:

Cualquiera de estos:

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

Y por lo que vale, su ejemplo en la pregunta funcionó bien para mí. Localmente y a través de la herramienta 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. Domina el comando ls de Linux

  2. Linux:¿cómo hacer que Sar se muestre para el día anterior?

  3. Sume una columna de números en el shell de Unix

  4. Compara dos imágenes al estilo python/linux

  5. ¿Archivo de ordenación de shell de Linux de acuerdo con la segunda columna?

Dos herramientas gráficas para manipular archivos PDF en el escritorio de Linux

Poderes de dos, poderes de Linux:2048 en la línea de comando

Cómo agregar texto al comienzo del archivo en Linux

Aprendizaje de los comandos Linux Delete User o Linux Add User

¿Cuál es la forma más rápida de combinar dos o más archivos en Linux?

Usar awk para sumar los valores de una columna, en función de los valores de otra columna