15-03-2019
This commit is contained in:
185
docs/Linux/awk.md
Normal file
185
docs/Linux/awk.md
Normal file
@@ -0,0 +1,185 @@
|
||||
# awk
|
||||
|
||||
|
||||
|
||||
```bash
|
||||
$ cat test.txt
|
||||
ubuntu Linux
|
||||
mint Linux
|
||||
debian Linux
|
||||
raspbian Linux
|
||||
mojave macOS
|
||||
sierra macOS
|
||||
tiger macOS
|
||||
snowleopard macOS
|
||||
```
|
||||
|
||||
|
||||
|
||||
Afficher la 1ere colonne d'un fichier:
|
||||
|
||||
```bash
|
||||
$ awk '{print $1}' test.txt
|
||||
ubuntu
|
||||
mint
|
||||
debian
|
||||
raspbian
|
||||
mojave
|
||||
sierra
|
||||
tiger
|
||||
snowleopard
|
||||
```
|
||||
|
||||
Afficher la 2eme colonne d'un fichier:
|
||||
|
||||
```bash
|
||||
$ awk '{print $2}' test.txt
|
||||
Linux
|
||||
Linux
|
||||
Linux
|
||||
Linux
|
||||
macOS
|
||||
macOS
|
||||
macOS
|
||||
macOS
|
||||
```
|
||||
|
||||
Afficher la 1ere colonne d'un fichier, excepté la 1ere ligne (header):
|
||||
|
||||
```bash
|
||||
$ awk 'NR!=1{print $1}' test.txt
|
||||
mint
|
||||
debian
|
||||
raspbian
|
||||
mojave
|
||||
sierra
|
||||
tiger
|
||||
snowleopard
|
||||
|
||||
# NR!=n° de ligne
|
||||
```
|
||||
|
||||
Afficher le fichier entier:
|
||||
|
||||
```bash
|
||||
$ awk '{print $0}' test.txt
|
||||
ubuntu Linux
|
||||
mint Linux
|
||||
debian Linux
|
||||
raspbian Linux
|
||||
mojave macOS
|
||||
sierra macOS
|
||||
tiger macOS
|
||||
snowleopard macOS
|
||||
|
||||
# commande identique:
|
||||
$ awk '1' test.txt
|
||||
```
|
||||
|
||||
|
||||
|
||||
Fichier avec séparateur:
|
||||
|
||||
```bash
|
||||
$ cat test.csv
|
||||
ubuntu,Linux
|
||||
mint,Linux
|
||||
debian,Linux
|
||||
raspbian,Linux
|
||||
mojave,macOS
|
||||
sierra,macOS
|
||||
tiger,macOS
|
||||
snowleopard,macOS
|
||||
```
|
||||
|
||||
Afficher la 1ere colonne d'un fichier:
|
||||
|
||||
il faut spécifier le séparateur:
|
||||
|
||||
```bash
|
||||
$ awk -F"," '{print $1}' test.csv
|
||||
ubuntu
|
||||
mint
|
||||
debian
|
||||
raspbian
|
||||
mojave
|
||||
sierra
|
||||
tiger
|
||||
snowleopard
|
||||
```
|
||||
|
||||
```bash
|
||||
# idem, autre commande:
|
||||
# FS (Field Separator)
|
||||
$ awk '{print $2}' FS="," test.csv
|
||||
Linux
|
||||
Linux
|
||||
Linux
|
||||
Linux
|
||||
macOS
|
||||
macOS
|
||||
macOS
|
||||
macOS
|
||||
```
|
||||
|
||||
Afficher les colonnes 1 et 2:
|
||||
|
||||
```bash
|
||||
$ awk -F"," '{print $1, $2}' test.csv
|
||||
ubuntu Linux
|
||||
mint Linux
|
||||
debian Linux
|
||||
raspbian Linux
|
||||
mojave macOS
|
||||
sierra macOS
|
||||
tiger macOS
|
||||
snowleopard macOS
|
||||
```
|
||||
|
||||
Afficher les colonnes 1 et 2, avec un séparateur:
|
||||
|
||||
```bash
|
||||
# OFS (Output Field Separator)
|
||||
|
||||
$ awk -F"," '{print $1, $2}' OFS=";" test.csv
|
||||
ubuntu;Linux
|
||||
mint;Linux
|
||||
debian;Linux
|
||||
raspbian;Linux
|
||||
mojave;macOS
|
||||
sierra;macOS
|
||||
tiger;macOS
|
||||
snowleopard;macOS
|
||||
```
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
Passer un argument à awk:
|
||||
|
||||
```bash
|
||||
$ x=3
|
||||
|
||||
$ awk '{print $0,val}' OFS=, val=$x test.csv
|
||||
ubuntu,Linux,3
|
||||
mint,Linux,3
|
||||
debian,Linux,3
|
||||
raspbian,Linux,3
|
||||
mojave,macOS,3
|
||||
sierra,macOS,3
|
||||
tiger,macOS,3
|
||||
snowleopard,macOS,3
|
||||
|
||||
$ export x
|
||||
$ awk '{print $0,ENVIRON["x"]}' OFS=, test.csv
|
||||
ubuntu,Linux,3
|
||||
mint,Linux,3
|
||||
debian,Linux,3
|
||||
raspbian,Linux,3
|
||||
mojave,macOS,3
|
||||
sierra,macOS,3
|
||||
tiger,macOS,3
|
||||
snowleopard,macOS,3
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user