Forum guilde UPR Bit Heroes
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.

Forum guilde UPR Bit Heroes

Bit
 
AccueilPortailRechercherDernières imagesS'enregistrerConnexion
C'est possible avec la carte KIWI !
Le deal à ne pas rater :
Funko POP! Jumbo One Piece Kaido Dragon Form : où l’acheter ?
Voir le deal

 

 SYST7ME 2

Aller en bas 
AuteurMessage
Fabian
Santa Poring
Santa Poring
Fabian


Messages : 346
PUISSANCE : 458727
Age : 28
Humeur : Mieux maintenant

SYST7ME 2 Empty
MessageSujet: SYST7ME 2   SYST7ME 2 Icon_minitimeMer 19 Oct - 12:50

Exercice 10 :



Recherchez si le fichier des mots de passe contient un utilisateur qui s’appelle « root ». Ecrire un
script shell user_exist.sh qui utilise cette commande en prenant le nom d’utilisateur en
paramètre et qui affiche un message indiquant si l’utilisateur existe ou SYST7ME 2 2840781352. Le script renvoie la
valeur 0 si l’utilisateur existe, sinon il renvoie 1.
Spoiler:


Exercice 11 :



Ecrire un script shell msg_err.sh qui écrit un message vers la sortie standard d’erreur. Vérifier
que votre programme fait bien ce qu’il faut.
Spoiler:


Exercice 12 :



Ecrire un script shell nospace.sh qui prend exactement un argument, qui vérifie que cet
argument est un fichier ou un répertoire, et qui, dans le cas où le nom du fichier ou du répertoire
contient au moins un espace, renomme ce fichier ou ce répertoire en remplaçant tous les
espaces par le caractère « _ » (underscore).
Quand le script est appelé sur un fichier ou un répertoire dont le nom ne contient pas d’espace, il
ne fait rien.
Spoiler:


Exercice 13 :



Ecrire un script shell words.sh qui prend un argument (un nom de fichier) et qui affiche chaque
mot du fichier, à raison d’un mot par ligne, chaque mot étant suivi par son nombre
d’occurrences dans le fichier. Les mots doivent apparaitre triés alphabétiquement. Par exemple,
si le fichier untexte.txt contient les lignes suivantes :
carotte, patate... carotte, poireau !
haricot; poireau; carotte; patate...
patate+patate=patate
Alors on a :
$ ./words.sh untexte.txt
Nombre de mots dans ce texte : 11
Nombre de mots différents dans ce texte : 4
carotte 3
haricot 1
patate 5
poireau 2
Afin de vous aider, voici les étapes à suivre pour décomposer le problème et arriver à la
résoudre :
1. On testera déjà la manière d’obtenir la liste des mots qui sont contenus dans le fichier. On
utilisera pour cela intensivement les pipes pour combiner le résultat de chacune des
commandes qui réaliseront successivement les étapes suivantes :
a. lire le contenu de untexte.txt ;
b. remplacer les ponctuations par des retours à la ligne ;
c. supprimer les espaces et les tabulations ;
d. ne retenir que les lignes SYST7ME 2 2840781352 vides ;
e. trier la liste de mots obtenus ;
f. ne retenir qu’un seul de ces mots.
2. On stockera le résultat de la liste complète des mots (sans supprimer les doublons) dans
une variable « list ».
4
3. On calculera et affichera le nombre total de mots dans le texte ainsi que le nombre unique
de mots.
4. On fera une boucle qui parcourt cette liste de mots pour afficher et compter l’occurrence
de chacun de ces mots. Pour vous aider, vous devrez stocker le mot précédent (initialisé à
""). Si celui-ci est différent du mot courant alors on affichera le résultat et on initialisera
la variable mot précédent et la variable occurrence aux bonnes valeurs, sinon, on
incrémente juste l’occurrence.
Et si on avait souhaité afficher le nombre d’occurrences de chacun des mots avant le mot,
comment auriez-vous procéder ? Quel programme cela aurait-il donné ? (pensez à lire la page de
manuel de la commande « uniq »).
Spoiler:


Exercice 14 :



On se propose de classer les photos numériques éparpillées dans différents répertoires, vous
appartenant, d’un ordinateur Unix.
Vous avez remarqué les détails suivants :
- les noms des fichiers, qui contiennent les photos, sont écrits en majuscules et sont de la
forme « XYZ0123.JPG » avec « XYZ » un identifiant d’une marque d’appareil photo (par
exemple, « DRC » pour les appareils de la marque Rony) et « 0123 » un numéro de série ;
- les droits d’accès aux fichiers sont de la forme rwxr-xr-x et leurs noms s’affichent donc
en vert.
Ecrire le script shell que l’on appelle avec XYZ et la marque de l’appareil photo sur la ligne de
commande. Par exemple :
$ ./mon_script.sh DRC Rony
Ce script shell déplace tous les fichiers dont le nom commence par XYZ et se termine par « .JPG »
vers le répertoire (à créer) qui porte le nom de la marque de l’appareil photo. Il supprime le
droit x pour tous les types d’utilisateurs pour que les noms de fichiers n’apparaissent plus en
vert. Il transforme l’extension des noms de fichiers en « .jpg » (minuscules) pour les noms
s’affichent en magenta.
Le script vérifie le nombre d’arguments de la ligne de commande et se termine en affichant un
message d’erreur si le nombre ne correspond pas. Il vérifie également si le répertoire qui porte
le nom de la marque de l’appareil photo existe déjà et, dans ce cas, il ne le crée pas.
Le script shell doit pouvoir être démarré à partir de n’importe quel répertoire.
Spoiler:
Revenir en haut Aller en bas
 
SYST7ME 2
Revenir en haut 
Page 1 sur 1

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum guilde UPR Bit Heroes :: Multimédia :: Autres-
Sauter vers: