Programmation shell
Fermé
khou
Messages postés
14
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
22 novembre 2007
-
6 août 2007 à 11:11
khou Messages postés 14 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 22 novembre 2007 - 6 août 2007 à 23:57
khou Messages postés 14 Date d'inscription lundi 19 juillet 2004 Statut Membre Dernière intervention 22 novembre 2007 - 6 août 2007 à 23:57
A voir également:
- Programmation shell
- Classic shell windows 11 - Télécharger - Personnalisation
- Application de programmation - Guide
- Votre programmation n'a pas pu être posée ✓ - Forum Box et Streaming vidéo
- Top44rbn programmation - Forum Programmation
- Shell startup windows 10 - Guide
5 réponses
lami20j
Messages postés
21331
Date d'inscription
jeudi 4 novembre 2004
Statut
Modérateur, Contributeur sécurité
Dernière intervention
30 octobre 2019
3 569
6 août 2007 à 11:21
6 août 2007 à 11:21
Salut,
la commande file te permettras de trouver le type de fichier
la commande file te permettras de trouver le type de fichier
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
6 août 2007 à 11:57
6 août 2007 à 11:57
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/
khou
Messages postés
14
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
22 novembre 2007
6 août 2007 à 17:05
6 août 2007 à 17:05
voici le code que jé executé mais ca ne marche pas , ca m'affiche des erreurs :
for fich in *
do
file fich
done
case $name in
gzip)...;
unzip)...;
bunzip)...;
uncompress)...;
esac
echo" fichier pas compressé "
for fich in *
do
file fich
done
case $name in
gzip)...;
unzip)...;
bunzip)...;
uncompress)...;
esac
echo" fichier pas compressé "
JoloKossovar
Messages postés
111
Date d'inscription
mercredi 1 août 2007
Statut
Membre
Dernière intervention
5 septembre 2007
33
6 août 2007 à 17:07
6 août 2007 à 17:07
C'est quoi l'erreur ?
khou
Messages postés
14
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
22 novembre 2007
6 août 2007 à 17:16
6 août 2007 à 17:16
l'erreur est : fich:ERROR :cannot open' fich' ( No such file or directory )
JoloKossovar
Messages postés
111
Date d'inscription
mercredi 1 août 2007
Statut
Membre
Dernière intervention
5 septembre 2007
33
6 août 2007 à 17:18
6 août 2007 à 17:18
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.
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
6 août 2007 à 17:56
6 août 2007 à 17:56
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 ;-))
khou
Messages postés
14
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
22 novembre 2007
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
6 août 2007 à 19:05
6 août 2007 à 19:05
jarive pas à trouver les bonnes commandes à entrer pe tu m'aider s'il te plé merci
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 896
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
6 août 2007 à 19:24
6 août 2007 à 19:24
Il faut que tu décomposes ton script une commande après l'autre avant de vouloir faire tout d'un coup.
Ouvre une console va dans le répertoire où sont sensés se trouver des fichiers compressés (*.gz, *.bz2, etc.) et affiche-nous le résultat de :
Ouvre une console va dans le répertoire où sont sensés se trouver des fichiers compressés (*.gz, *.bz2, etc.) et affiche-nous le résultat de :
for fich in *; do file "$fich"; done;-))
khou
Messages postés
14
Date d'inscription
lundi 19 juillet 2004
Statut
Membre
Dernière intervention
22 novembre 2007
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
6 août 2007 à 23:57
6 août 2007 à 23:57
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
JoloKossovar
Messages postés
111
Date d'inscription
mercredi 1 août 2007
Statut
Membre
Dernière intervention
5 septembre 2007
33
6 août 2007 à 17:57
6 août 2007 à 17:57
ha bah vi forcément ^^