La Commande sort
commande de tri générique:
$> sort [options] [fichier...]
pos est de la forme m[.n] o
m est le nombre de champs ignorer
n est le nombre de caractères suppl. ignorer
options (liste non exhaustive) :
-b : ignore les séparateurs (espaces, tabs)
-d : ordre lexicographique (défaut)
-f : ignore maj/min
-n : ordre numérique
-r : inverse le sens de tri
-tx : prend x comme séparateur
-k<n>: compte les champs
-u : supprime les duplications
$> # on trie etc/passwd en ordre inverse
$> sort -r /etc/passwd
$> on trie etc/passwd sur la 3e colonne (separateur = ‘:’)
$> sort -n -t: -k2 /etc/passwd$> # on peut utiliser sort dans un pipe …comme tous les filtres
$> ls | sort
La Commande head (tail)
La commande head permet de lister l’entete d’un fichier. Par défaut les 10 premières lignes, mais on peut choisir le nombre…
La commande tail permet de lister la fin d’un fichier. Par défaut les 10 dernières lignes, mais on peut choisir le nombre…
syntaxe :
head [option] fichier
-c : nb de caractère
-n: nb de lignes (défaut)tail [option] fichier
-c : nb de caractère
-n: nb de lignes (défaut)
…
note : tail propose plus d’options que head , voir man tail pour plus d’infos.
exemple
$ cat fich
# affiche tout le fichier
Ceci est
un texte qui
doit aider
a comprendre
head et tail$ head -2 fich
# affiche les 2 premières lignes
Ceci est
un texte qui
$ tail -2 fich# affiche les 2 dernières lignes
a comprendre
head et tail
$ tail +2 fich# affiche depuis la 3eme ligne
doit aider
a comprendre
head et tail
La Commande grep
recherche une expression (constante ou régulière) dans un (des) fichier(s) texte.
$> grep [options] “expression” [fichier...]
Options :
-f fich : lit l’expression dans fich
-i : ignore maj/min
-s : résultat non affiché (silent)
-v : sélection inversée (la condition n’est pas vérifiée)
$> # on recherche l’expression “root” dans /etc/passwd
$> grep root /etc/passwd
root:x:0:0:root:/root:/bin/bash
operator:x:11:0:operator:/root:/sbin/nologin
rootdd:x:502:0::/home/rootdd:/bin/bash$> # autre recherche avec un pipe
$> cat /etc/passwd | grep stage
stage1:kjzzjfhze:401:200:…:/user/stages/stage1:/bin/csh
…
stage9:klzao78./:409:200:…:/user/stages/stage1:/bin/csh$> # on veut les process qui ne contiennent pas ddelegli dans leurs propriétés
$> ps -ef|grep -v ddelegli