GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Was ist Awk ‘{print $1+0.45 “ ” $2 “ ” $3 }’ File1> File2?

Was bedeutet awk '{print $1+0.45 " " $2 " " $3 }' positionXYZ > positionX0.45YZ
meinst du? Bedeutet das, eine Zeile in der ersten Datei zu ändern und die neuen Daten in die zweite einzufügen?

Akzeptierte Antwort:

Lassen Sie uns das aufschlüsseln. awk '{foo}' file wendet den Ausdruck foo an zu jeder Zeile der file und das Ergebnis auf dem Terminal ausgeben (Standardausgabe). awk teilt seine Eingabezeilen auf Leerraum (standardmäßig) und speichert jedes Feld als $1 , $2 usw.

Der tatsächliche Ausdruck, den Sie ausführen, bedeutet also:Lesen Sie jede Eingabezeile, addieren Sie 0,45 zum Wert des ersten Felds und drucken Sie dann dieses Feld sowie das zweite und dritte. Dies lässt sich am einfachsten an einem einfachen Beispiel erklären:

$ 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

Also, wie Sie sehen können, das awk Das Skript fügte dem ersten Feld jeder Zeile 0,45 hinzu und druckte es dann zusammen mit dem zweiten und dritten. Das vierte wurde ignoriert, da Sie ihm nicht gesagt haben, dass es $4 drucken soll .

Das nächste Bit hat nichts mit awk zu tun , der > Das Symbol dient zur Ausgabeumleitung und wird von der Shell verwendet (bash oder zsh oder was auch immer Sie verwenden). Allgemein command > file speichert die Ausgabe von command in der Datei file Inhalt überschreiben der Datei, falls vorhanden, und erstellen, falls nicht vorhanden.

Alles zusammenfügen:

$ 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. Wie kann ich eine Datei von Awk kategorisieren?

  2. Was führt dazu, dass Dateien Berechtigungen verlieren?

  3. Awk aus verschiedenen Linien?

  4. Was sind die Unterschiede zwischen grep, awk und sed?

  5. Dateigröße unter Linux beobachten

Was ist php.ini?

Was ist das Linux-Dateisystem? Einfache Anleitung

AWK-Befehl unter Linux/Unix

Was sind Inodes unter Linux?

Was ist eine .bashrc-Datei unter Linux?

Was ist eine .sh-Datei?