Extraire les programmes de l’historique des commandes

LinuxBeginner
Pratiquer maintenant

Introduction

Un petit export de l’historique contient, sur chaque ligne séparée par des caractères |, un numéro d’enregistrement et le nom d’un programme. Pour un rapport ultérieur, l’analyste n’a besoin que du champ correspondant au programme.

Ce défi combine l’extraction de champs étudiée dans le laboratoire sur les pipelines et la redirection de fichiers abordée dans le laboratoire sur les flux, le tout sur un fichier simple.

Extraire le champ du programme

Situation actuelle

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

Périmètre

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

Objectif

Créer 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 séparateurs sont absents.
  • L’ordre d’origine est conservé, tout comme l’entrée ls répétée.

Indices

Quel outil permet de sélectionner le champ ?

Dans le laboratoire sur les pipelines, la commande cut était utilisée avec un séparateur et un numéro de champ donnés. Redirigez la sortie standard de cette commande vers le fichier requis.

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