Problème cp d'un directory avec des fichiers
Fermé
r4ven
Messages postés
2
Date d'inscription
vendredi 9 mai 2014
Statut
Membre
Dernière intervention
12 mai 2014
-
Modifié par jipicy le 9/05/2014 à 19:00
adrien1975 Messages postés 55 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 27 mai 2014 - 19 mai 2014 à 01:24
adrien1975 Messages postés 55 Date d'inscription lundi 21 février 2011 Statut Membre Dernière intervention 27 mai 2014 - 19 mai 2014 à 01:24
A voir également:
- Problème cp d'un directory avec des fichiers
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Directory list & print - Télécharger - Divers Utilitaires
- Wetransfer gratuit fichiers lourd - Guide
- Renommer des fichiers en masse - Guide
3 réponses
r4ven
Messages postés
2
Date d'inscription
vendredi 9 mai 2014
Statut
Membre
Dernière intervention
12 mai 2014
12 mai 2014 à 11:57
12 mai 2014 à 11:57
Yop, alors grand merci de m'avoir répondu :)
J'ai essayé " for i in ${SOURCE_DIR}/* " mais il me dit "Mauvaise substitution"
puis pour le "${i}" "${DEST_DIR}/${i#*/}_save" j'ai une question ( et j'ai essayer mais à mon avis je ne comprends pas bien comment l'insérer dans mon code ) et pq mettre des {} au lieu de () ??
Merci d'avance encore une fois :)
J'ai essayé " for i in ${SOURCE_DIR}/* " mais il me dit "Mauvaise substitution"
puis pour le "${i}" "${DEST_DIR}/${i#*/}_save" j'ai une question ( et j'ai essayer mais à mon avis je ne comprends pas bien comment l'insérer dans mon code ) et pq mettre des {} au lieu de () ??
Merci d'avance encore une fois :)
adrien1975
Messages postés
55
Date d'inscription
lundi 21 février 2011
Statut
Membre
Dernière intervention
27 mai 2014
1
19 mai 2014 à 01:24
19 mai 2014 à 01:24
Je dit ptet nimporte quoi mais il faudrait pas remplacer $i_save par "$i"_save et pareil avec $1 pour la command cp ?
ElementW
Messages postés
4816
Date d'inscription
dimanche 12 juin 2011
Statut
Contributeur
Dernière intervention
5 octobre 2021
1 228
Modifié par gravgun le 9/05/2014 à 19:42
Modifié par gravgun le 9/05/2014 à 19:42
'lut, ça marche pas parce que
Du coup faut faire en sorte que LS produise une liste de fichiers sans le nom:
Mais du coup CP ne saura plus copier... à cause de la source, il faut donc lui re-préciser le dossier à chaque fois:
Constate que j'ai mis la forme longue d'expression des variables dans le 2e paramètre pour éviter toute ambigüité avec le "_save" derrière.
Pour le coup du CD dans le $(), je sais pas si c'est une bonne pratique ou pas, si toi, lecteur de ce post, est un
from human import idiocy
del idiocy
ls $SOURCE_DIR/*.*te donne le nom des fichiers avec le nom du dossier
$SOURCE_DIRdevant.
Du coup faut faire en sorte que LS produise une liste de fichiers sans le nom:
for i in $(cd $SOURCE_DIR;ls *.*)
Mais du coup CP ne saura plus copier... à cause de la source, il faut donc lui re-préciser le dossier à chaque fois:
cp "$SOURCE_DIR/$i" "$DEST_DIR/${i}_save"
Constate que j'ai mis la forme longue d'expression des variables dans le 2e paramètre pour éviter toute ambigüité avec le "_save" derrière.
Pour le coup du CD dans le $(), je sais pas si c'est une bonne pratique ou pas, si toi, lecteur de ce post, est un
bashiste, libre à toi de me gueuler dessus si ce n'est pas le cas.
from human import idiocy
del idiocy
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
9 mai 2014 à 20:11
9 mai 2014 à 20:11
Salut,
Mieux vaut privilégier un
Quant au problème du nom du répertoire, il suffit de jouer avec le remplacement des paramètres
Pour le coup du CD dans le $(), je sais pas si c'est une bonne pratique ou pas, si toi, lecteur de ce post, est un bashiste, libre à toi de me gueuler dessus si ce n'est pas le cas.Ce n'est pas tellement le
cd repqui est gênant, mais plutôt le
ls *.*qui est à proscrire, ne serait-ce qu'en cas d'espace dans un nom ;-(
Mieux vaut privilégier un
for i in ${SOURCE_DIR}/*beaucoup plus opportun.
Quant au problème du nom du répertoire, il suffit de jouer avec le remplacement des paramètres
cp "${i}" "${DEST_DIR}/${i#*/}_save"qui produira l'effet escompté ;-))
$ ./foo.sh photos
Création du répertoire photos_save
copie de photos/index.html dans photos_save/index.html_save
copie de photos/photo1.jpg dans photos_save/photo1.jpg_save
copie de photos/photo2.jpg dans photos_save/photo2.jpg_save
copie de photos/photo3.jpg dans photos_save/photo3.jpg_save
copie de photos/photo4.jpg dans photos_save/photo4.jpg_save
12 mai 2014 à 16:44