TD 2

1/2
100%

TD 2

Exercice 1 :

Ecrire une commande (script shell) appelé jeter qui permet de manipuler une

poubelle de fichiers (un dossier nommé poubelle située sous votre racine).

La commande jeter accepte trois options :

  • jeter -l pour lister le contenu de la poubelle ;
  • jeter -r pour vider la poubelle ;
  • jeter fichier1 fichier2 ... pour déplacer les fichiers considérés vers la poubelle.

Si la poubelle n'existe pas, elle est crée à l'appel de la commande.

Exercice 2 :

Ecrire une commande calculer qui prend deux arguments, les bornes d'un intervalle,

et qui affiche les valeurs du polynôme 2x +1 pour toutes les valeurs entière situées

Publicité

dans cet intervalle.

(Borne inferieure comprise, borne supérieure excluse).

Afficher des messages spécifique si :

  • le nombre de paramètres est incorrect ;
  • les arguments ne sont pas des entiers ;
  • l'intervalle est incorrect.

Note : Dans l'exemple qui suit, on verra comment tester si une variable est entier ou non.

l'expression :

checkinput()

{

case $1 in [0-9]|[0-9]\*[0-9][\.]) return 0 ;; esac

return 1

Publicité

}

checkinput()

{

echo $1 | grep '^(\+|-)?[0-9]+$'

return $?

}

Exercice 3 :

Que produisent les scripts awk suivants?

i) {print $2 , $1}

ii) $1 != p {print ; p = $1 }

Exercice 4 :

Ecrire les scripts awk permettant d’afficher

Publicité

i) les deux premiers champs en ordre inverse avec des champs séparés par

des virgules et/ou des espaces et tabulations

ii) la somme et la moyenne du premier champ

iii) toutes les lignes entre ”start” et ”stop”.

Exercice 7 : en se basant sur le fichier mesure.txt (ci-joint)

1-

Vous vous êtes bourrés sur le signe de la correction 1, de même dans la correction 2, vous avez découvert que vous avez commis une petite

erreur et qu'il fallait lui ajouter 0.1. Modifier le fichier en prenant en

compte ces corrections, faites en sorte que la valeur corrigée soit

modifiée en conséquence.

Dans le même exercice vous afficherez la somme totale des valeurs corrigées

et la valeur corrigée moyenne. Ces valeurs doivent être sauvegardées dans

Publicité

un fichier résultat.

2- dans un nouveau script :

Afficher les mesures ayant une année paire. Redirigez le résultat de la

recherche vers un fichier « resultat\_paire ».

3- dans un nouveau script :

Vérifiez que le format de la date jj/mm/aaaa est correct ainsi que le format

du lieu (formé que de lettres de l'alphabet en minuscules ou majuscules).

Affichier

4- dans un nouveau script :

Afficher les noms de mesure et leur valeur corrigée associée en vous

servant d'un tableau associatif.

TD 2

Programming, Shell Scripting, Awk · exam

Voir tous les documents en systèmes d'exploitation et cloud

TD 2

Exercice 1 :

Ecrire une commande (script shell) appelé jeter qui permet de manipuler une

poubelle de fichiers (un dossier nommé poubelle située sous votre racine).

La commande jeter accepte trois options :

  • jeter -l pour lister le contenu de la poubelle ;
  • jeter -r pour vider la poubelle ;
  • jeter fichier1 fichier2 ... pour déplacer les fichiers considérés vers la poubelle.

Si la poubelle n'existe pas, elle est crée à l'appel de la commande.

Exercice 2 :

Ecrire une commande calculer qui prend deux arguments, les bornes d'un intervalle,

et qui affiche les valeurs du polynôme 2x +1 pour toutes les valeurs entière situées

Publicité

dans cet intervalle.

(Borne inferieure comprise, borne supérieure excluse).

Afficher des messages spécifique si :

  • le nombre de paramètres est incorrect ;
  • les arguments ne sont pas des entiers ;
  • l'intervalle est incorrect.

Note : Dans l'exemple qui suit, on verra comment tester si une variable est entier ou non.

l'expression :

checkinput()

{

case $1 in [0-9]|[0-9]\*[0-9][\.]) return 0 ;; esac

return 1

Publicité

}

checkinput()

{

echo $1 | grep '^(\+|-)?[0-9]+$'

return $?

}

Exercice 3 :

Que produisent les scripts awk suivants?

i) {print $2 , $1}

ii) $1 != p {print ; p = $1 }

Exercice 4 :

Ecrire les scripts awk permettant d’afficher

Publicité

i) les deux premiers champs en ordre inverse avec des champs séparés par

des virgules et/ou des espaces et tabulations

ii) la somme et la moyenne du premier champ

iii) toutes les lignes entre ”start” et ”stop”.

Exercice 7 : en se basant sur le fichier mesure.txt (ci-joint)

1-

Vous vous êtes bourrés sur le signe de la correction 1, de même dans la correction 2, vous avez découvert que vous avez commis une petite

erreur et qu'il fallait lui ajouter 0.1. Modifier le fichier en prenant en

compte ces corrections, faites en sorte que la valeur corrigée soit

modifiée en conséquence.

Dans le même exercice vous afficherez la somme totale des valeurs corrigées

et la valeur corrigée moyenne. Ces valeurs doivent être sauvegardées dans

Publicité

un fichier résultat.

2- dans un nouveau script :

Afficher les mesures ayant une année paire. Redirigez le résultat de la

recherche vers un fichier « resultat\_paire ».

3- dans un nouveau script :

Vérifiez que le format de la date jj/mm/aaaa est correct ainsi que le format

du lieu (formé que de lettres de l'alphabet en minuscules ou majuscules).

Affichier

4- dans un nouveau script :

Afficher les noms de mesure et leur valeur corrigée associée en vous

servant d'un tableau associatif.