GNU/Linux >> Linux Esercitazione >  >> Linux

Che cos'è Awk '{print $ 1+0.45 " " $ 2 " " $ 3 }' File1> File2?

Cosa significa awk '{print $1+0.45 " " $2 " " $3 }' positionXYZ > positionX0.45YZ
significa? Significa cambiare una riga nel primo file e inserire i nuovi dati nel secondo?

Risposta accettata:

Analizziamolo. awk '{foo}' file applicherà l'espressione foo a ciascuna riga di file e stampare il risultato sul terminale (output standard). awk divide le sue righe di input su uno spazio bianco (per impostazione predefinita) e salva ogni campo come $1 , $2 ecc.

Quindi, l'espressione effettiva che stai eseguendo significa:leggi ogni riga di input, aggiungi 0,45 al valore del primo campo e quindi stampa quel campo così come il secondo e il terzo. Questo è più facilmente spiegabile con un semplice esempio:

$ 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

Quindi, come puoi vedere, il awk lo script ha aggiunto 0,45 al primo campo di ogni riga e quindi lo ha stampato insieme alla seconda e alla terza. Il quarto è stato ignorato poiché non gli hai detto di stampare $4 .

Il prossimo bit non ha nulla a che fare con awk , il > il simbolo è per il reindirizzamento dell'output ed è utilizzato dalla shell (bash o zsh o qualunque cosa tu stia usando). In generale command > file salverà l'output di command nel file file sovrascrive i contenuti del file se esiste e creandolo se non esiste.

Mettere tutto insieme:

$ 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. Che cos'è il numero di inode in Linux?

  2. Cosa conta come una modifica o una modifica del file?

  3. Cosa fa considerare Grep un file come binario?

  4. Come catturare un file da Awk?

  5. Che cosa causa la perdita delle autorizzazioni dei file?

Cos'è php.ini?

Che cos'è il file system Linux? Guida facile

Comando AWK in Linux/Unix

Cosa sono gli inode in Linux?

Che cos'è il file .bashrc in Linux?

Cos'è un file .sh?