Sommaire

Découpage

Il est souvent nécessaire d’extraire des données de certains fichiers, ces données étant généralement formatées d’une manière claire et uniforme. On souhaite alors découper les lignes selon certains séparateurs. Dans le même esprit, on peut également souhaiter découper un fichier en plusieurs fichiers plus petits.

La plupart des commandes sont étudiées pour traiter les flux de données ligne par ligne. De manière générale, que ce soit à partir d’une variable ou à partir d’un fichier, le retour à la ligne est un séparateur d’enregistrements : les commandes qui vont être abordées traitent pour la plupart les données reçues sur stdin ligne par ligne.

1. Couper les lignes : cut

La commande cut permet de découper une ligne selon un séparateur et d’en extraire un ou plusieurs champs ; quand elle reçoit plusieurs lignes en entrée, elle répète cette opération sur chacune des lignes. Elle peut également extraire une suite de caractères identifiée par les positions du caractère de début et du caractère de fin.

On doit lui fournir au moins une option, lui précisant quelle suite de caractères (ou quel champ) extraire. On peut lui donner en argument le nom du fichier à lire ; sans nom de fichier, elle lit ses données ...