logo Debian Debian Debian-France Debian-Facile Debian-fr.org Forum-Debian.fr Debian ? Communautés logo inclusivité

Debian-facile

Bienvenue sur Debian-Facile, site d'aide pour les nouveaux utilisateurs de Debian.

Vous n'êtes pas identifié(e).

#1 24-08-2013 06:04:57

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

[Résolu] Script bash - Traitement d'arguments numérotés

Salut les barbus !

Voilà le problème :

find repertoire -type f -iname "liste_video*.php" -exec sed -i '/'$(printf '%04g' $refvideo)'/s,<td>,<td><a href="monsite/'$refnet'/'$refclient'/'$(printf '%04g' $refvideo)'.mpeg">,' {} \+


Cette ligne fonctionne très bien pour ajouter une video telechargeable depuis mon site (grâce à une chaîne ajoutée).
Exemple de la ligne sans la variable video en claire :

find repertoire -type f -iname "liste_video*.php" -exec sed -i '/'0012'/s,<td>,<td><a href="http://monsite/0012.mpeg">,' {} \+



toutefois :
Il y a que la seconde variable ne prend pas le : printf '%04g. Elle me met le numero sans ajouter les zeros, genre pour la video n° 12 si je tape 12 en argument refvideo, le premier $(printf '%04g' $refvideo) fonctionne en indiquant 0012 mais pas le second qui inscrit dans la chaîne le chiffre 12, sans les zéros !
Il me faut donc mettre 0012 pour que cela marche

Voilà voilà voilà... cool

Dernière modification par smolski (24-08-2013 08:44:30)


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

#2 24-08-2013 08:48:44

captnfab
Admin-Girafe
Lieu : /dev/random
Distrib. : Debian
Noyau : Dur
(G)UI : gui gui, je zuis un doiseau
Inscription : 07-07-2008
Site Web

Re : [Résolu] Script bash - Traitement d'arguments numérotés

Y'a pas de pb dans ta ligne.
Exemple de test :

mkdir /tmp/jojo
cd /tmp/jojo
echo "0012 <td>" > liste_video_bla.php
refvideo=12
find -type f -iname "liste_video*.php" -exec sed -i '/'$(printf '%04g' $refvideo)'/s,<td>,<td><a href="monsite/'$refnet'/'$refclient'/'$(printf '%04g' $refvideo)'.mpeg">,' {} \+
cat liste_video_bla.php
0012 <td><a href="monsite///0012.mpeg">



Le \+ en revanche peut causer problème, je doute fort qu'il soit adapté à la commande sed.


captnfab,
Association Debian-Facile, bépo.
TheDoctor: Your wish is my command… But be careful what you wish for.

Hors ligne

#3 24-08-2013 09:01:27

smolski
quasi...modo
Lieu : AIN
Distrib. : backports (buster) 10
Noyau : Linux 4.19.0-8-amd64
(G)UI : gnome
Inscription : 21-10-2008

Re : [Résolu] Script bash - Traitement d'arguments numérotés

Ah matelot, en remplaçant le signe \+ par \; comme tu me l'as indiqué sur IRC, ça marche impec !

Merci flibustier smile

Dernière modification par smolski (24-08-2013 09:03:35)


saque eud dun (patois chtimi : fonce dedans)

Hors ligne

Pied de page des forums