Probleme script avec TAR
LoSs
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Hello,
En fait je debute en linux, et la je tombe sur un os, je comprend pas, je m'explique:
J'ai crée un .sh qui me permet de renommer un fichier dans un certain format puis ensuite il le compresse, supprime l'ancien fichier et le change de repertoire, le probleme est qu'une fois le fichier compressé, téléchargé, c'est comme si le fichier est illisible ou corrompu (il se dezip sans pobleme)
Voici mon .sh (ca dois piker les yeux mais bon xD):
Note: ./hltv_compress.sh 2007-12-15-17h12-de_nuke=-0712151712-de_nuke.dem
#!/bin/bash
HLDS=/home/cs_private/cstrike/hltvs/
DIR_TO=/home/web/patate-factory/files/hltvs/
FILE_OLD=$1
# Changement vers le dossier des HLTVs
cd $HLDS
# Verification que le fichier existe
if [ -f $FILE_OLD ]
then
# Recuperation de la partie gauche du fichier
LEFT=`echo $FILE_OLD | cut -f 1 -d "="`
Y=`echo $LEFT | cut -f 1 -d "-"`
M=`echo $LEFT | cut -f 2 -d "-"`
D=`echo $LEFT | cut -f 3 -d "-"`
H=`echo $LEFT | cut -f 4 -d "-"`
MAP=`echo $LEFT | cut -f 5 -d "-"`
FILE=${Y}'-'${M}'-'${D}'_@_'${H}'_Sur_'${MAP}'.dem'
# Renommage du fichier avec la partie gauche du fichier
mv $FILE_OLD $FILE
echo "** $FILE_OLD renomme en $FILE"
# Creation de l'archive TAR
tar cvfz $FILE.tar $FILE
echo "** $FILE.tar compresse en format TAR"
# Deplacement du fichier vers le dossier HLTVs Patate Factory
#mv $FILE.tar $DIR_TO
#echo "** $FILE.tar deplace dans $DIR_TO"
# Suppression de l'ancien fichier demo
#rm $FILE
#echo "** Suppression du fichier d'origine"
#echo "** HLTV disponible dans le repertoire: $DIR_TO"
# Si le fichier n'existe pas
else
echo "** Le fichier $1 n'existe pas"
# Fin de Condition if
fi
J'espere que quelqu'un pourra me venir en aide, merci d'avance
En fait je debute en linux, et la je tombe sur un os, je comprend pas, je m'explique:
J'ai crée un .sh qui me permet de renommer un fichier dans un certain format puis ensuite il le compresse, supprime l'ancien fichier et le change de repertoire, le probleme est qu'une fois le fichier compressé, téléchargé, c'est comme si le fichier est illisible ou corrompu (il se dezip sans pobleme)
Voici mon .sh (ca dois piker les yeux mais bon xD):
Note: ./hltv_compress.sh 2007-12-15-17h12-de_nuke=-0712151712-de_nuke.dem
#!/bin/bash
HLDS=/home/cs_private/cstrike/hltvs/
DIR_TO=/home/web/patate-factory/files/hltvs/
FILE_OLD=$1
# Changement vers le dossier des HLTVs
cd $HLDS
# Verification que le fichier existe
if [ -f $FILE_OLD ]
then
# Recuperation de la partie gauche du fichier
LEFT=`echo $FILE_OLD | cut -f 1 -d "="`
Y=`echo $LEFT | cut -f 1 -d "-"`
M=`echo $LEFT | cut -f 2 -d "-"`
D=`echo $LEFT | cut -f 3 -d "-"`
H=`echo $LEFT | cut -f 4 -d "-"`
MAP=`echo $LEFT | cut -f 5 -d "-"`
FILE=${Y}'-'${M}'-'${D}'_@_'${H}'_Sur_'${MAP}'.dem'
# Renommage du fichier avec la partie gauche du fichier
mv $FILE_OLD $FILE
echo "** $FILE_OLD renomme en $FILE"
# Creation de l'archive TAR
tar cvfz $FILE.tar $FILE
echo "** $FILE.tar compresse en format TAR"
# Deplacement du fichier vers le dossier HLTVs Patate Factory
#mv $FILE.tar $DIR_TO
#echo "** $FILE.tar deplace dans $DIR_TO"
# Suppression de l'ancien fichier demo
#rm $FILE
#echo "** Suppression du fichier d'origine"
#echo "** HLTV disponible dans le repertoire: $DIR_TO"
# Si le fichier n'existe pas
else
echo "** Le fichier $1 n'existe pas"
# Fin de Condition if
fi
J'espere que quelqu'un pourra me venir en aide, merci d'avance
A voir également:
- Probleme script avec TAR
- Script vidéo youtube - Guide
- Ghost script - Télécharger - Polices de caractères
- Mas script - Accueil - Windows
- Script cmd - Guide
- Script download - Télécharger - Édition & Programmation
6 réponses
Salut,
Il faut quoter ta variable "$FILE" dans la mesure où elle contient un espace !!! Et t'habituer même à écrire tes variables avec des accolades "${FILE}" !
Il faut quoter ta variable "$FILE" dans la mesure où elle contient un espace !!! Et t'habituer même à écrire tes variables avec des accolades "${FILE}" !
tar cvfz "${FILE}.tar" "${FILE}"Tu peux aussi "quoter" le reste de ton script et puisque dans ta dernière partie tu as mis des accolades, inutile de quoter chaque partie en dehors des variables comme tu l'as fait pour concaténer, les accolades sont là pour ça justement, donc simplifie l'écriture comme suit :FILE=${Y}-${M}-${D}_@_${H}_Sur_${MAP}.dem;-))
Salut,
ton extension est fausse, ce n'est par 'tar' mais 'tar.gz' enfin c'est ce que tu compresses avec les options 'cvfz' :
Si tu veux un tar, vire le 'z'
Si tu veux compresser, ajoute '.gz' à ton extension
ton extension est fausse, ce n'est par 'tar' mais 'tar.gz' enfin c'est ce que tu compresses avec les options 'cvfz' :
-z, --gzip, --ungzip
filter the archive through gzip
Si tu veux un tar, vire le 'z'
Si tu veux compresser, ajoute '.gz' à ton extension
Merci pour l'info, je vais appliquer ca dés maintenant,
Mais ca ne resoud pas le probleme, je comprend vraiment pas, surtout que sans l'argument "z" ca marche trés bien, le fichier est lisible...
Mais ca ne resoud pas le probleme, je comprend vraiment pas, surtout que sans l'argument "z" ca marche trés bien, le fichier est lisible...
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question