Correction Atelier 6: Filtres et manipulation du texte

1/2
100%

Correction Atelier 6 : Filtres et manipulation du texte

Exercice 1 :

1. Créer le fichier villes.txt contenant tous les gouvernorats de la Tunisie selon cette forme :

Numero : NomGouvernorat :PrefixeTelephone

1. Afficher villes.txt par page

~$ less viles.txt

1. Afficher les 10 premières lignes de villes.txt

~$ head villes.txt

1. Afficher les 4 dernières lignes de villes.txt

~$ tail –n 4 villes.txt

1. Afficher villes.txt sans ses 3 dernières lignes

~$ head –n -3 villes.txt

Publicité

1. Afficher villes.txt sans ses 5 premières lignes

~$ tail –n +6 villes.txt

1. Afficher les lignes de 7 à 13 de villes.txt.

~$ head –n 13 villes.txt| tail –n +7

1. Ajouter à la fin de villes.txt la ligne : 24 gouvernorats en Tunisie

~$ cat >>villes.txt

24 gouvernorats en Tunisie

ctrl-d

ou

~$ echo ’24 gouvernerats en Tunisie’ >>villes.txt

1. Afficher le nombre de lignes et de mots de villes.txt

~$ wc –lw villes.txt

Publicité

1. Découper le fichier villes.txt en des fichiers contenant 6 lignes au maximum.

~$ split –l 6 villes.txt

1. Vérifier le nombre de lignes de fichiers générés.

~$ wc –l xa\*

Exercice 2 :

1. Trier le fichier villes.txt selon le nom et enregistrer le résultat dans un nouveau fichier villesTriees.txt

~$ sort – t : -k2,2 villes.txt >villesTriees.txt

1. Supprimer la première ligne de villesTriees.txt

~$ tail –n +2 villesTriees.txt >villesTriees1.txt ; mv villesTriees1.txt villesTriees.txt

1. Supprimer le numéro de chaque ligne de villesTriees.txt et numéroter de nouveau sans utiliser vi

~$ cut –d : -f2,3 villesTriees.txt |nl >villesTriees1.txt; mv villesTriees1.txt villesTriees.txt

1. Créer le fichier villeReverse.txt contenant les lignes triées selon le nom par ordre décroissant et séparer les champs par # au lieu de :

Publicité

~$ sort – t : -r -k2,2 villes.txt | tr ‘ :’ ‘#’ >villesReverse.txt

1. Afficher seulement les noms de villes de villesReverse.txt

~$ cut –d# -f2 –output-delimiter ‘#’

1. Créer le fichier villesTotal.txt contenant les 3 premières lignes de tous les fichiers créés et sans entête

~$ head –q –n 3 villes\*.txt > villesTotal.txt

Exercice 3 : Utilisation de cut

1. Traitement de lignes

Le fichier /etc/passwd est organisé comme suit :

nom\_utilisateur : x : uuid : guid : commentaire : home : shell

Où : - nom\_utilisateur : le nom de l’utilisateur

  • x : le mot de passe remplacé par x pour des raisons de sécurité
  • uuid : numéro d’identifiant de l’utilisateur
  • guid : numéro d’identifiant du groupe principal utilisateur
  • commentaire : un commentaire (généralement le nom du groupe utilisateur)
  • home : le répertoire de travail

1. Afficher uniquement les noms d’utilisateur et leur numéro

Publicité

~$ cut –d: -f1,3 /etc/passwd

1. Modifier la commande précédente pour que le nom et le numéro soient séparés par un #

~$ cut –d: -f1,3 –output-delimiter ‘#’ /etc/passwd

1. Traitement de caractères :

2. Afficher les informations détaillées du répertoire de travail

~$ ls -l

1. En supposant que la taille est comprise entre les caractères 23 et 30, et que le nom du fichier commence au caractère 45 et en combinant ls et cut, afficher uniquement la taille et le nom des fichiers/répertoires, séparés par un ‘-‘

~$ ls –l | cut –c23-30,45- --output-delimiter ‘-‘

1. Supprimer dans b. la première ligne, qui correspond à la ligne total.

~$ ls –l | cut –c23-30,45- --output-delimiter ‘-‘ | tail –n+2

Correction Atelier 6: Filtres et manipulation du texte

Shell Command Line Basics and File Manipulation · lab

Browse all systèmes d'exploitation et cloud documents

Correction Atelier 6 : Filtres et manipulation du texte

Exercice 1 :

1. Créer le fichier villes.txt contenant tous les gouvernorats de la Tunisie selon cette forme :

Numero : NomGouvernorat :PrefixeTelephone

1. Afficher villes.txt par page

~$ less viles.txt

1. Afficher les 10 premières lignes de villes.txt

~$ head villes.txt

1. Afficher les 4 dernières lignes de villes.txt

~$ tail –n 4 villes.txt

1. Afficher villes.txt sans ses 3 dernières lignes

~$ head –n -3 villes.txt

Advertisement

1. Afficher villes.txt sans ses 5 premières lignes

~$ tail –n +6 villes.txt

1. Afficher les lignes de 7 à 13 de villes.txt.

~$ head –n 13 villes.txt| tail –n +7

1. Ajouter à la fin de villes.txt la ligne : 24 gouvernorats en Tunisie

~$ cat >>villes.txt

24 gouvernorats en Tunisie

ctrl-d

ou

~$ echo ’24 gouvernerats en Tunisie’ >>villes.txt

1. Afficher le nombre de lignes et de mots de villes.txt

~$ wc –lw villes.txt

Advertisement

1. Découper le fichier villes.txt en des fichiers contenant 6 lignes au maximum.

~$ split –l 6 villes.txt

1. Vérifier le nombre de lignes de fichiers générés.

~$ wc –l xa\*

Exercice 2 :

1. Trier le fichier villes.txt selon le nom et enregistrer le résultat dans un nouveau fichier villesTriees.txt

~$ sort – t : -k2,2 villes.txt >villesTriees.txt

1. Supprimer la première ligne de villesTriees.txt

~$ tail –n +2 villesTriees.txt >villesTriees1.txt ; mv villesTriees1.txt villesTriees.txt

1. Supprimer le numéro de chaque ligne de villesTriees.txt et numéroter de nouveau sans utiliser vi

~$ cut –d : -f2,3 villesTriees.txt |nl >villesTriees1.txt; mv villesTriees1.txt villesTriees.txt

1. Créer le fichier villeReverse.txt contenant les lignes triées selon le nom par ordre décroissant et séparer les champs par # au lieu de :

Advertisement

~$ sort – t : -r -k2,2 villes.txt | tr ‘ :’ ‘#’ >villesReverse.txt

1. Afficher seulement les noms de villes de villesReverse.txt

~$ cut –d# -f2 –output-delimiter ‘#’

1. Créer le fichier villesTotal.txt contenant les 3 premières lignes de tous les fichiers créés et sans entête

~$ head –q –n 3 villes\*.txt > villesTotal.txt

Exercice 3 : Utilisation de cut

1. Traitement de lignes

Le fichier /etc/passwd est organisé comme suit :

nom\_utilisateur : x : uuid : guid : commentaire : home : shell

Où : - nom\_utilisateur : le nom de l’utilisateur

  • x : le mot de passe remplacé par x pour des raisons de sécurité
  • uuid : numéro d’identifiant de l’utilisateur
  • guid : numéro d’identifiant du groupe principal utilisateur
  • commentaire : un commentaire (généralement le nom du groupe utilisateur)
  • home : le répertoire de travail

1. Afficher uniquement les noms d’utilisateur et leur numéro

Advertisement

~$ cut –d: -f1,3 /etc/passwd

1. Modifier la commande précédente pour que le nom et le numéro soient séparés par un #

~$ cut –d: -f1,3 –output-delimiter ‘#’ /etc/passwd

1. Traitement de caractères :

2. Afficher les informations détaillées du répertoire de travail

~$ ls -l

1. En supposant que la taille est comprise entre les caractères 23 et 30, et que le nom du fichier commence au caractère 45 et en combinant ls et cut, afficher uniquement la taille et le nom des fichiers/répertoires, séparés par un ‘-‘

~$ ls –l | cut –c23-30,45- --output-delimiter ‘-‘

1. Supprimer dans b. la première ligne, qui correspond à la ligne total.

~$ ls –l | cut –c23-30,45- --output-delimiter ‘-‘ | tail –n+2