Lire et filtrer du texte

cat, less, head, tail, wc, grep, cut, sort, uniq et tr appliqués à un fichier : choisir le bon filtre, l'option qui change tout, et prévoir la sortie sur de vraies données.

  • 30 cartes
  • 5 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Mises en situation
  5. Comprendre

Quelques cartes du deck

  • grep -v motif : de quoi s'agit-il ?

    Voir la réponse

    Filtre qui garde seulement les lignes ne contenant pas le motif.

    grep -v '^#' config écarte les commentaires. Ne pas confondre avec -i (ignore la casse), -n (numérote les lignes) et -c (compte les lignes sans les afficher).

  • Que donne cut -d: -f1,7 sur cette ligne de /etc/passwd ?

    ```text
    lea:x:1000:1000:Lea:/home/lea:/bin/bash
    `

    • lea:/bin/bash
    • lea:/home/lea
    • lea:x
    • x:/bin/bash
    Voir la réponse

    lea:/bin/bash

    Les champs sont lea, x, 1000, 1000, Lea, /home/lea et /bin/bash : le premier est le nom, le septième le shell. cut remet le séparateur entre les champs gardés.

  • wc -l compte les … d'un fichier ; head -n 3 en affiche les … et tail -n 3 les ….

    Voir la réponse

    wc -l compte les lignes d'un fichier ; head -n 3 en affiche les trois premières et tail -n 3 les trois dernières.

    Sans option, wc affiche lignes, mots et octets. Sans -n, head et tail affichent dix lignes.

  • cut -d: -f1,7 : de quoi s'agit-il ?

    Voir la réponse

    Découpe chaque ligne aux deux-points et garde les champs 1 et 7.

    -d fixe le séparateur, -f choisit les champs, numérotés à partir de 1. Sur /etc/passwd, c'est le nom de connexion et le shell.

  • grep error journal.log ne trouve pas la ligne « ERROR disque plein » qui est pourtant dans le fichier. Quelle correction ?

    • Inverser le filtre : grep -v error journal.log
    • Chercher en profondeur : grep -r error journal.log
    • Compter les lignes : grep -c error journal.log
    • Ignorer la casse : grep -i error journal.log
    Voir la réponse

    Ignorer la casse : grep -i error journal.log

    grep distingue majuscules et minuscules : error ne correspond pas à ERROR. -v garderait les lignes sans le motif, -r sert à parcourir des répertoires et -c ne ferait qu'afficher un nombre.