Programmation shell
khou
Messages postés
14
Statut
Membre
-
khou Messages postés 14 Statut Membre -
khou Messages postés 14 Statut Membre -
Merci les amis pour hier vous m'avez beaucoup aidé en fait cé une série d'exercices sur la programmation shell que je suis entrain de faire . jé éssayé de faire l'autre exercice mé jé eu dé problemes pour le résoudre voici l'énoncé :A partir d'une liste de fichiers en entree cherchez pour chaque type de fichiers cible le type de compression utilisé en utilisant la commande file et donner automatiquement la commande de decompressuion (gunzip , unzip , gzip , uncompress , autres ) . si un fichier cible n'est pas compréssé affichez un message :" fichier pas compressé " et ne faites aucune action . merci pour votre aide
A voir également:
- Programmation shell
- Classic shell - Télécharger - Personnalisation
- Application de programmation - Guide
- Secure shell - Télécharger - Divers Web & Internet
- Shell infrastructure host c'est quoi - Guide
- Efi shell version 2.31 - Forum Programmation
5 réponses
Salut,
A partir d'une liste de fichiers en entree
Commande (syntaxe) à utiliser :
for fich in *; do ...; done
Voir aussi : comment lire un fichier ligne par ligne
cherchez pour chaque type de fichiers cible le type de compression utilisé en utilisant la commande file
Commandes (syntaxe) à utiliser :
file [ -options ] fichier
couplée avec la commande "cut" (au travers d'un "pipe" | )
Voir : man file | man cut
et donner automatiquement la commande de decompressuion (gunzip , unzip , gzip , uncompress , autres)
Commande (syntaxe) à utiliser :
case $name in
gzip) ... ;
bzip2) ...;
*) ...;
esac
Voir : man bash -P 'less -p " case"'
Voir aussi : http://www.shellunix.com/sh.html#case
si un fichier cible n'est pas compréssé affichez un message :" fichier pas compressé " et ne faites aucune action
Ca ça rentre dans le dernier cas de la syntaxe "case ... esac"
Voir : man bash -P 'less -p " case"'
Voir aussi : http://abs.traduc.org/abs-4.1-fr/
A partir d'une liste de fichiers en entree
Commande (syntaxe) à utiliser :
for fich in *; do ...; done
Voir aussi : comment lire un fichier ligne par ligne
cherchez pour chaque type de fichiers cible le type de compression utilisé en utilisant la commande file
Commandes (syntaxe) à utiliser :
file [ -options ] fichier
couplée avec la commande "cut" (au travers d'un "pipe" | )
Voir : man file | man cut
et donner automatiquement la commande de decompressuion (gunzip , unzip , gzip , uncompress , autres)
Commande (syntaxe) à utiliser :
case $name in
gzip) ... ;
bzip2) ...;
*) ...;
esac
Voir : man bash -P 'less -p " case"'
Voir aussi : http://www.shellunix.com/sh.html#case
si un fichier cible n'est pas compréssé affichez un message :" fichier pas compressé " et ne faites aucune action
Ca ça rentre dans le dernier cas de la syntaxe "case ... esac"
Voir : man bash -P 'less -p " case"'
Voir aussi : http://abs.traduc.org/abs-4.1-fr/
bon ben c assez explicit ^^ ton script est dans le meme répertoire que tes fichiers ? Si ce n'est pas le cas essaie de le placer ds le meme repertoire.
Salut JoloKossovar,
Le problème est ailleurs en fait.
Dans mon premier post je lui ai donné les grandes lignes concernant son exercice avec des noms communs (fich - $name - etc.) et avec des points de suspension en guise de commandes schématisées (do ... done) et il a repris mot pour mot mes exemples, donc forcément que le script bugue ;-))
Le problème est ailleurs en fait.
Dans mon premier post je lui ai donné les grandes lignes concernant son exercice avec des noms communs (fich - $name - etc.) et avec des points de suspension en guise de commandes schématisées (do ... done) et il a repris mot pour mot mes exemples, donc forcément que le script bugue ;-))
voici le script que jé écri :
for i in $*
do
file $i
done
case $0 in
ginzip) gunzip $i;;
bunzip) bunzip $i;;
unzip) unzip $i;;
uncompress) uncompress $i;;
*) echo"le fichier$i n'est pas compresse";;
esac
quand je compile le script ca m'affiche : ERREUR LIGNE 11 : echo"le fichier $i n'est pas compresse ": COMMAND NOT FOUND
for i in $*
do
file $i
done
case $0 in
ginzip) gunzip $i;;
bunzip) bunzip $i;;
unzip) unzip $i;;
uncompress) uncompress $i;;
*) echo"le fichier$i n'est pas compresse";;
esac
quand je compile le script ca m'affiche : ERREUR LIGNE 11 : echo"le fichier $i n'est pas compresse ": COMMAND NOT FOUND
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question