Exploitation tableau
Résolu
dino
-
dino -
dino -
Bonjour,
j'ai un tableau comme suit
un champ1 script
un champ2 utilité : fonc1
un champ3 repertoir : rep1/2
un champ4 fichier generé :fic1/2/3...etc
un champ5 du nouveau nom de fichier : fich1/2/3...etc
je doit ecrire un script qui doit renomer en fonction du champ "script" le fichier qui genere Champ4 avec le nouveau nom champ5
#Champ 1 Champ2 Champ3 Champ4 Champ5
Script0.sh | fonc1 | Rep1 | fic1 | fich1
Script1.sh | fonc1 | Rep1 | fic2 | fich2
Script1.sh | fonc1 | Rep1 | fic3 | fich3
Script1.sh | fonc1 | Rep1 | fic4 | fich4
Script2.sh | fonc1 | Rep1 | fic5 | fich5
Script2.sh | fonc1 | Rep2 | fic6 | fich6
j'avoue que je fais des boucles ,des test mais je ne m'en sort pas :-(
si qlq a une idée ??
merci beaucoup
j'ai un tableau comme suit
un champ1 script
un champ2 utilité : fonc1
un champ3 repertoir : rep1/2
un champ4 fichier generé :fic1/2/3...etc
un champ5 du nouveau nom de fichier : fich1/2/3...etc
je doit ecrire un script qui doit renomer en fonction du champ "script" le fichier qui genere Champ4 avec le nouveau nom champ5
#Champ 1 Champ2 Champ3 Champ4 Champ5
Script0.sh | fonc1 | Rep1 | fic1 | fich1
Script1.sh | fonc1 | Rep1 | fic2 | fich2
Script1.sh | fonc1 | Rep1 | fic3 | fich3
Script1.sh | fonc1 | Rep1 | fic4 | fich4
Script2.sh | fonc1 | Rep1 | fic5 | fich5
Script2.sh | fonc1 | Rep2 | fic6 | fich6
j'avoue que je fais des boucles ,des test mais je ne m'en sort pas :-(
si qlq a une idée ??
merci beaucoup
15 réponses
-
comme ça ?
$ ./k3 Script1.sh
pour effectuer les mv :
mv fic2 fich2
mv fic3 fich3
mv fic4 fich4
$ cat k3
#!/bin/ksh
awk -F "|" -v n=$1 '$1 ~ n {print "mv " $4, $5}' tableau./k3 Script1.sh | ksh
-
hello
donne un exemple avant après -
Bonjour,
Des scripts passent (par crontab) et cree des fichiers s'appeles fic1/2/3 ...etc .je dois les renomer suivant le tableau en fct du script qui passe en fich1/2/3...etc
je ne peux pas le faire sur les scripts eux meme, je doit le faire a partir du tableau.
Merci -
avec:
#Champ 1 Champ2 Champ3 Champ4 Champ5
on crée un script Script0.sh qui renomme fic1 en fich1 , etc ?
Script0.sh | fonc1 | Rep1 | fic1 | fich1 -
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
non.
je doit ecrire un script qui scanne le tableau pour dire si c'est le script0.sh qui est passer (a passer en parmaetre de mon script ) alors renomer le fichier dans le champ4 avec le nom du fichier champ5:
./Monscript.ksh "script0.sh"
Merci -
Merci ,
J'ai bien reconduit ton idée mais ca me fait :
Usage: mv [-I] [ -d | -e] [-i | -f] [-E{force|ignore|warn}] [--] src target -
des espaces dans les noms de fichiers ?
-
-
non, ils sont ignorés, montre la ligne du tableau
-
voila comme je l'ai
script2.sh | type | rep | fic1 | fich1 | O
le dernier champs :"O" c pour la reprise ou pas ..mais ce n'est pas important. -
$ cat tableau
script2.sh | type | rep | fic1 | fich1 | O
$ touch fic1
$ ./k3 script2.sh | ksh
$ ls fich1
fich1 -
Bonjour,
Je n'ai pas compris :-( ....je fais le cat de ton script :
awk -F "|" -v n=$1 '$1 ~ n {print "mv " $4 $5}' Tableau_ref.txt
mon tableau ( juste une ligne ..)
script2.sh | type | rep | fic1 | fich1 | O
je lance le script comme suit :
./cop.ksh script2.sh|ksh
j'ai le resultats suivant :
+ awk -F | -v n=script2.sh $1 ~ n {print "mv " $4 $5} Tableau_ref.txt
Usage: mv [-I] [ -d | -e] [-i | -f] [-E{force|ignore|warn}] [--] src target
or: mv [-I] [-d | -e] [-i | -f] [-E{force|ignore|warn}] [--] src1 ... srcN directory
desolé ...:-( -
idem :
+ awk -F | -v n=script2.sh $1 ~ n {print "mv " $4, $5} Tableau_ref.txt
Usage: mv [-I] [ -d | -e] [-i | -f] [-E{force|ignore|warn}] [--] src target
or: mv [-I] [-d | -e] [-i | -f] [-E{force|ignore|warn}] [--] src1 ... srcN directory
je suis sous AIX 7.1 si ca peut aider ... -
suivant les claviers, il y a plusieurs | ou ¦
vérifier que celui du script est le même que dans le fichier -
SUPEEEEEEEEEEEEEEEER ca fct !!
ce n'est pas le "|" ..le pb etait entre la chaise et le claviers :-) ..le champ awk etait pas bon !!
Thx a lot !!!!