sort, head et grep

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

Répondre

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Twitter picture

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Connexion à %s

Suivre

Get every new post delivered to your Inbox.