Extraire les programmes de l’historique des commandes

LinuxBeginner
Pratiquer maintenant

Introduction

Un petit export de l’historique contient un numéro d’enregistrement et un nom de programme sur chaque ligne délimitée par le caractère |. L’analyste a seulement besoin du champ du programme pour un rapport ultérieur.

Dans ce challenge, vous allez appliquer l’extraction de champs étudiée dans le laboratoire sur les pipelines ainsi que la redirection de fichiers étudiée dans le laboratoire sur les flux, à un fichier simple.

Extraire le champ du programme

Situation actuelle

Le fichier /home/labex/project/history-analysis/command-history.txt contient cinq enregistrements. Chaque ligne comporte un numéro d’historique dans le champ 1 et un nom de programme dans le champ 2, séparés par |.

Objectif de l’opération

  • Extraire le champ 2 de chaque enregistrement.
  • Conserver l’ordre initial des enregistrements ainsi que les noms répétés.
  • Enregistrer le résultat dans programs.txt.

Votre objectif

Créez un fichier contenant les cinq noms de programmes, à raison d’un nom par ligne.

Critères de validation

  • programs.txt contient exactement une valeur du champ 2 pour chaque enregistrement source.
  • Les numéros d’historique et les caractères délimiteurs sont absents.
  • L’ordre source est conservé, y compris l’entrée ls répétée.

Indices

Quel outil permet de sélectionner un champ ?

Dans le laboratoire sur les pipelines, vous avez utilisé cut avec un délimiteur et un numéro de champ choisis. Redirigez la sortie standard de cette commande vers le fichier demandé.

Résumé

Vous avez extrait un champ délimité et l’avez enregistré à l’aide de la redirection de la sortie standard.

✨ Vérifier la solution et pratiquer