Exercices unix - Filtres usuels - utilisation avancés des pipes

Exercice 1: Filtres usuels et pipes

On a la possibilité de rediriger l'entrée et la sortie standard, non plus vers un fichier, mais vers un autre programme. Les programmes conçus pour être utilisés de cette manière sont appelés filtres. Nous en avons vu quelques-uns (cat, grep qui peut être utilisé comme un filtre). Pour effectuer la redirection, on utilisera un pipe noté |. Par exemple, la ligne cat /etc/services | grep 25 | more permet d'afficher toutes les lignes de /etc/services contenant le mot 25.

Lisez les pages de man des commandes wc, sort, cat, uniq et répondez aux questions suivantes :

  1. A quoi servent ces fonctions ?
  2. Que doit on faire avant d'utiliser uniq ?

Quelles sont les enchaînements de commandes (une seule ligne) nécessaires pour effectuer les opérations suivantes :

  1. Compter le total des lignes des fichiers dans /etc
  2. Compter le nombre de lignes contenant 25 dans /etc/services
  3. Trier le fichier /etc/hosts
  4. Afficher le nombre de fichiers n'appartenant pas à root dans /etc.
{sidebar id=6}{sidebar id=1}

Exercice 2: Utilisation avancés des pipes


On utilisera la commande cut -f champs -d séparateur pour découper un fichier en colonne selon des séparateurs. Par exemple cut -f 1-3,5 -d : /etc/passwd donne les commandes 1 à 3, puis 5 du fichier passwd où le séparateur est :

Pour les questions suivantes, trouvez la ligne de commande permettant de faire l'opération voulue. Pour afficher les informations sur les utilisateurs (fichier passwd réseau), il faut faire ypcat passwd.

  1. Affichez uniquement la ligne vous concernant.
  2. Affichez uniquement les login de tous les utilisateurs triés.
  3. Affichez les correspondances login, numéro d'utilisateur (UID), nom réel.
  4. Affichez les utilisateurs, leur groupe et leur nom complet.
  5. Sachant que le groupe enseignement est le numéro 30, en utilisant le résultat de la commande précédente, affichez le nom des utilisateurs du groupe 30 et leur groupe.
  6. Puis n'affichez plus que le nom complet des utilisateurs du groupe 30.
  7. Combien y'en a-t-il ?
  8. Triez le résultat.
  9. Est-ce qu'il y a des doublons ? Indice : utilisez uniq -c puis un grep -v.
Article publié le 01 Mars 2010 Mise à jour le Mardi, 10 Août 2021 21:49 par GC Team