jeudi 29 mars 2012

Commande awk


Affichage des deux premières colonnes

[bob@centos ~]$ ps aux | awk '{ print $1,$2 }'
USER PID
root 1
root 2
root 3
root 4
root 5
root 6



Afficher le nom de l'utilisateur et le nom du shell à partir du fichier passwd

[bob@centos ~]$ awk -F: '{print NR, $1, $7}'  /etc/passwd
1 root /bin/bash
2 bin /sbin/nologin
3 daemon /sbin/nologin
4 adm /sbin/nologin
5 lp /sbin/nologin
6 sync /bin/sync
7 shutdown /sbin/shutdown
8 halt /sbin/halt
9 mail /sbin/nologin

Changer le caractère séparateur de champ en sortie de commande

[bob@centos ~]$ awk -F : 'BEGIN {OFS=" - "};{print $1, $7}'  /etc/passwd
root - /bin/bash
bin - /sbin/nologin
daemon - /sbin/nologin
adm - /sbin/nologin
lp - /sbin/nologin
sync - /bin/sync
shutdown - /sbin/shutdown
halt - /sbin/halt

Affiche les utilisateurs dont le shell correspond à /bin/bash dans le fichier /etc/passwd

[bob@centos ~]$ awk -F: '$7 == "/bin/bash" {print $1}'  /etc/passwd
root
bob
[bob@centos ~]$


Afficher le nom des utilisateurs dont le nom débute par la lettre a

[bob@centos ~]$ awk -F: ' /^a/ {print $1}'  /etc/passwd
adm
avahi
avahi-autoipd
[bob@centos ~]$


Afficher la taille du répertoire courant

[bob@centos ~]$ ls -l | awk '{t += $5} END {print "la taille du repertoire est : "t}'
la taille du repertoire est : 82521
[bob@centos ~]$



Compter le nombre de champ sur la 1ère ligne d'un fichier


linux:/home/bob# head -n1 lefichier.txt | awk 'BEGIN{ FS="," }{ print NF }'
987

head -n1 : filtre sur la première ligne
awk: FS: indique le séparateur de champ
awk: NF: indique le nombre de champ

Aucun commentaire:

Enregistrer un commentaire

Comment ajouter une route statique sur une distribution Linux Ubuntu

Pour ajouter une route statique au démarrage d'Ubuntu, voici le fichier à modifier. Dans l'exemple on ajoute une route pour joindre ...