GNU/Linux >> Tutoriales Linux >  >> Linux

¿Qué es Awk ‘{print $1+0.45 “ ” $2 “ ” $3 }’ File1> File2?

¿Qué significa awk '{print $1+0.45 " " $2 " " $3 }' positionXYZ > positionX0.45YZ
significa? ¿Significa cambiar una fila en el primer archivo y poner los nuevos datos en el segundo?

Respuesta aceptada:

Analicemos esto. awk '{foo}' file aplicará la expresión foo a cada línea de file e imprima el resultado en el terminal (salida estándar). awk divide sus líneas de entrada en espacios en blanco (por defecto) y guarda cada campo como $1 , $2 etc.

Entonces, la expresión real que está ejecutando significa:lea cada línea de entrada, agregue 0.45 al valor del primer campo y luego imprima ese campo, así como el segundo y el tercero. Esto se explica más fácilmente con un ejemplo simple:

$ cat file.txt 
10 20 30 40
50 60 70 80

$ awk '{print $1+0.45 " " $2 " " $3 }' file.txt 
10.45 20 30
50.45 60 70

Entonces, como puede ver, el awk script agregó 0.45 al primer campo de cada línea y luego lo imprimió junto con el segundo y el tercero. El cuarto fue ignorado porque no le dijiste que imprimiera $4 .

El siguiente bit no tiene nada que ver con awk , el > El símbolo es para la redirección de salida y lo usa el shell (bash o zsh o lo que sea que esté usando). En general, command > file guardará la salida del command en el archivo file sobrescribir el contenido del archivo si existe y crearlo si no existe.

Poniendo todo junto:

$ ls
file.txt

$ cat file.txt 
10 20 30 40
50 60 70 80

$ awk '{print $1+0.45 " " $2 " " $3 }' file.txt > file2.txt

$ ls
file2.txt  file.txt

$ cat file2.txt 
10.45 20 30
50.45 60 70

Linux
  1. ¿Qué es el número de inodo en Linux?

  2. ¿Qué cuenta como modificación o cambio de archivo?

  3. ¿Qué hace que Grep considere que un archivo es binario?

  4. ¿Qué hace Exec 3?

  5. ¿Cómo catear un archivo de Awk?

¿Qué es php.ini?

¿Qué es el sistema de archivos de Linux? Guía fácil

Comando AWK en Linux/Unix

¿Qué son los inodos en Linux?

¿Qué es el archivo .bashrc en Linux?

¿Qué es un archivo .sh?