Ce tutoriel est le second de la série sur le terminal.
Vous pouvez lire la première partie ici même.
Vous connaissez fort probablement Mail, Safari et iChat mais saviez-vous que Mac OS X vient avec des centaines et des centaines d'utilitaires qui peuvent être utilisés à partir du terminal? Ces applications viennent de l'héritage UNIX de Mac OS X et peuvent être fort utiles, surtout lorsque vient le temps de jouer avec des fichiers textes.
Dans ce tutoriel, je regarde avec vous quelques commandes utiles. Dans tous les cas, il est possible de lire la documentation d'Apple sur ces commandes (en anglais seulement) en tapant la commande « man » suivie du nom de la commande. Par exemple:
man sort
Vous donnera la documentation sur la commande « sort ».
cat
La commande « cat » permet simplement d'afficher à l'écran le contenu d'un fichier. Par exemple, on peut afficher le contenu du fichier « monfichier.txt » en tapant :
cat monfichier.txt
head et tail
Les commandes « head » et « tail » permettent d'afficher à l'écran seulement que les premières lignes (head) ou les dernières lignes (tail) d'un fichier. Par défaut, ces commandes affichent les 10 premières ou les 10 dernières lignes.
head monfichier.txt
tail monfichier.txt
On peut modifier le nombre de ligne que l'on veut afficher en y ajoutant le paramètre -n suivi d'un nombre de ligne. Par exemple, on peut afficher les 2 dernières lignes d'un fichier avec la commande suivante :
tail -n 2 monfichier.txt
sort
La commande « sort » permet, comme l'indique son nom, de trier le contenu d'un fichier. Par exemple, si j'ai un fichier texte (monfichier.txt) qui contient les lignes suivantes :
Mac OS X
Apple
iPod
iMac
MacBook Pro
sort monfichier.txt
Apple
Mac OS X
MacBook Pro
iMac
iPod
La commande sort fait une différence entre les minuscules et les majuscules. On peut lui demander d'ignorer cette différence en lui passant le paramètre -f :
sort -f monfichier.txt
Apple
iMac
iPod
Mac OS X
MacBook Pro
Combiner 2 programmes
Le symbole de barre verticale ( | ) « pipe » permet d'envoyer le résultat d'un programme à un second programme. Avec ce symbole, il est donc possible de combiner plusieurs programmes pour avoir le résultat souhaité.
uniq
La commande « uniq » permet d'enlever les lignes doublons consécutive dans un fichier. En général, on l'utilise avec la commande sort en envoyant le résultat de la commande sort à la commande uniq. Par exemple :
sort monfichier.txt | uniq
tr
La commande "tr" permet de transformer un ou plusieurs caractères dans un fichier. Cette commande transforme le texte reçu en entrée (par le biais de la barre verticale) en fonction des paramètres reçus. Par exemple, on peut rendre le contenu du fichier monfichier.txt en majuscule avec la commande suivante :
cat monfichier.txt | tr "[:lower:]" "[:upper:]"
MAC OS X
APPLE
IPOD
IMAC
MACBOOK PRO
Sauvegarder les changements
Tel que discuté dans le premier tutoriel sur le terminal, les commandes discutées ici ne font qu'afficher le résultat à l'écran. Pour sauvegarder ces changements dans un fichier, il faut rediriger l'affichage vers un fichier. Par exemple:
cat monfichier.txt | tr "[:lower:]" "[:upper:]" | sort | uniq > monfichier2.txt
Cette série de commande va premièrement transformer le contenu du fichier en majuscule, puis va classé en ordre alphabétique le contenu pour ensuite enlever les lignes doublons. Le résultat de tout ça sera envoyer dans un fichier nommé monfichier2.txt. Comme le résultat est redirigé dans un fichier, rien ne s'affiche à l'écran lorsque l'on exécute la commande.