GNU/Linux >> Tutoriels Linux >  >> Linux

Qu'est-ce qu'Awk '{print $1+0.45 " " $2 " " $3 }' File1> File2 ?

Que signifie awk '{print $1+0.45 " " $2 " " $3 }' positionXYZ > positionX0.45YZ
signifie ? Cela signifie-t-il modifier une ligne dans le premier fichier et mettre les nouvelles données dans le second ?

Réponse acceptée :

Décomposons cela. awk '{foo}' file appliquera l'expression foo à chaque ligne du file et imprimez le résultat sur le terminal (sortie standard). awk divise ses lignes d'entrée sur un espace blanc (par défaut) et enregistre chaque champ sous $1 , $2 etc.

Ainsi, l'expression réelle que vous exécutez signifie :lisez chaque ligne d'entrée, ajoutez 0,45 à la valeur du premier champ, puis imprimez ce champ ainsi que le deuxième et le troisième. Cela s'explique plus facilement avec un exemple 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

Donc, comme vous pouvez le voir, le awk le script a ajouté 0,45 au premier champ de chaque ligne, puis l'a imprimé avec le deuxième et le troisième. Le quatrième a été ignoré puisque vous ne lui avez pas dit d'imprimer $4 .

Le bit suivant n'a rien à voir avec awk , le > symbol est pour la redirection de sortie et est utilisé par le shell (bash ou zsh ou tout ce que vous utilisez). En général command > file enregistrera la sortie de la command dans le fichier file écraser le contenu du fichier s'il existe et de le créer s'il n'existe pas.

Rassembler le tout :

$ 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'est-ce qu'un numéro d'inode sous Linux ?

  2. Qu'est-ce qui compte comme une modification ou un changement de fichier ?

  3. Qu'est-ce qui fait que Grep considère qu'un fichier est binaire ?

  4. Que fait Exec 3 ?

  5. Comment Cater un fichier depuis Awk ?

Qu'est-ce que php.ini ?

Qu'est-ce que le système de fichiers Linux ? Guide facile

Commande AWK sous Linux/Unix

Que sont les inodes sous Linux ?

Qu'est-ce qu'un fichier .bashrc sous Linux ?

Qu'est-ce qu'un fichier .sh ?