Exercice Unix: Shell et commande – flux d’E/S standards – Redirections – méta-caractères

Exercice Unix

[tab name=’♣ Exercice UNIX’]

Exercice 1: Flux d’E/S standards

Étudier la documentation de la commande tee.

  1. Écrire une commande qui affiche « Bonjour » à l’écran et en même temps crée un fichier nommé « Salutation.txt » dont le contenu est le même message.
  2. Ecrire un script qui lit une ligne de caractères sur son entrée standard et l’écrit sur sa sortie, en passant tous les caractères en majuscules.
  3. Modifiez votre script pour qu’il affiche le nombre de caractères traités sur sa sortie d’erreur.
  4. Créer un fichier texte quelconque. Écrire une seule commande shell qui recopie le contenu passé en majuscule de ce fichier dans un nouveau fichier nommé « Titre.txt » et affiche à l’écran le nombre de caractères traités.

Exercice 2: Redirections, méta-caractères

Le répertoire /usr/include contient les fichiers d’entête standards en langage C (stdlib.h, …).

  1. Créer un répertoire nommé inc dans votre répertoire de connexion (HOME).
    En utilisant une seule commande, y copier les fichiers du répertoire /usr/include dont le nom commence par std.
  2. Afficher la liste des fichiers de /usr/include dont le nom commence par a, b ou c.
  3. Modifier la commande de la question précédente pour qu’au lieu d’afficher le résultat, celui-ci soit placé dans un fichier nommé « Abc.list » de votre répertoire de connexion.
  4. Afficher le contenu de ce fichier en utilisant la commande cat.
    Copier avec cat son contenu dans un nouveau fichier nommé « Copie ».
  5. Toujours avec cat, créer un nouveau fichier nommé « Double » formé par la mise bout à bout (concaténation) des fichiers « Abc.list » et « Copie ».
    Vérifier que le nombre de lignes a bien doublé à l’aide de la commande wc.
  6. Créer un fichier nommé « Temp » contenant une ligne de texte.
  7. Avec cat, ajouter la ligne « The end » à la fin du fichier « Temp”.
  8. En une seule ligne de commande, faire afficher le nombre de fichiers de /usr/include dont le nom contient la lettre t.

[/tab][tab name=’Correction’]

Exercice 1 :

Flux d’E/S standards

  • Q1)
echo "Bonjour" |tee salutation.txt
  • Q2)
#! /bin/bash
read a
echo $a|tr "[a-z]" "[A-Z]"
  • Q3)
read a
echo $a|tr "[a-z]" "[A-Z]"|tee text1
  • Q4)
cat salutation.txt|tr "[a-z]" "[A-Z]"|tee text1|wc -c

Exercice 2 :

Redirections, méta-caractères

Le répertoire /usr/include contient les fichiers d’entête standards en langage C (stdlib.h, …).

  • Q1)
mkdir inc
cp /usr/include/std* $HOME/inc
  • Q2)
find /usr/include/ \( -name 'a*' -o -name 'b*' -o -name 'c*' \)


ou

find /usr/include/ -name [abc]*
  • Q3)
find /usr/include/ \( -name 'a*' -o -name 'b*' -o -name 'c*' \) >$HOME/Abc.list
  • Q4)
cat Abc.list > copie
wc Abc.list
450 450 14861 Abc.list
  • Q5)
cat Abc.list copie >double
wc double
900 900 29722 double
  • Q6)
touch Temp
  • Q7)
cat >> temp
The end
CTRL-d
  • Q8)
ls /usr/include/[t]* | wc
14 14 306

Exercice Unix

[/tab][end_tabset skin= »lightness » ]

Télécharger aussi :

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *