Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

[HS] script pour faire des liens symboliques sur une même cible

5 réponses
Avatar
giggz
Bonjour la liste,

dsl pour le HS (ms la machine sur laquelle je tourne est une debian ;) ) :
j'ai un répertoire avec des images dedans. Ce sont les mêmes images ms
avec des noms différents. Je cherche à faire des liens symboliques
pointant sur le même fichier cible que je définis en gardant évidemment
les noms des fichiers de départ.
Pourriez vous m'aider à faire un script ou alors une tite ligne de
commande (j'utilise zsh)

Merci d'avance
Guillaume


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to debian-user-french-REQUEST@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmaster@lists.debian.org

5 réponses

Avatar
JJL
Salut,

j'ai un répertoire avec des images dedans. Ce sont les mêmes images m s
avec des noms différents. Je cherche à faire des liens symboliques
pointant sur le même fichier cible que je définis en gardant évidem ment
les noms des fichiers de départ.


Je ne suis pas sur d'avoir parfaitement compris ce que tu veux, mais
ca ressemble a un script (surement perfectible) que j'ai fait y'a pas
longtemps pour generer une video à partir d'une image fixe. En voici
un bout qui t'aidera peut-etre (bash) :

echo "Creation des liens pour les images intermediaires ..."
cp "$1" "$tmpimg"
rm $tmpdir/* 2>/dev/null
cpt=1
while [ "$cpt" -le "$nbimgdur" ]
do
fname=`printf "$tmpdir/%05d.jpg" "$cpt"`
ln -s "$tmpimg" "$fname"
cpt=`expr $cpt + 1`
done

Sachant que $1 est l'image fixe, $tmpimg un fichier temporaire,
$tmpdir un repertoire temporaire
et $nbimgdur le nombre de frames voulues (25*durée video en secondes)
Cela va creer des liens 00000.jpg pointants tous vers tmpimg

Si tu as deja les fichiers et que tu veux garder les noms existants,
un truc du genre (toujours bash) :
for f in *.jpg
do
rm $f
ln -s <fichierDest> $f
done
Attention, je n'ai pas testé !

++
JJL

--
http://kubuntu.free.fr
Avatar
Yves Rutschle
On Sat, Apr 14, 2007 at 12:18:23PM +0200, giggz wrote:
dsl pour le HS (ms la machine sur laquelle je tourne est une debian ;) ) :
j'ai un répertoire avec des images dedans. Ce sont les mêmes images ms
avec des noms différents. Je cherche à faire des liens symboliques
pointant sur le même fichier cible que je définis en gardant évidemment
les noms des fichiers de départ.
Pourriez vous m'aider à faire un script ou alors une tite ligne de
commande (j'utilise zsh)



Faire plusieurs lien sur une même cible ne pose aucun
problème:

ln -s toto autrenom1
ln -s toto autrenom2

Pour le reste, je n'ai pas compris ton besoin. Des liens
symboliques de où vers où en gardant quels noms de départ?

Y.


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
giggz
JJL a écrit :
Salut,

j'ai un répertoire avec des images dedans. Ce sont les mêmes images ms
avec des noms différents. Je cherche à faire des liens symboliques
pointant sur le même fichier cible que je définis en gardant évidemment
les noms des fichiers de départ.


Je ne suis pas sur d'avoir parfaitement compris ce que tu veux, mais
ca ressemble a un script (surement perfectible) que j'ai fait y'a pas
longtemps pour generer une video à partir d'une image fixe. En voici
un bout qui t'aidera peut-etre (bash) :

echo "Creation des liens pour les images intermediaires ..."
cp "$1" "$tmpimg"
rm $tmpdir/* 2>/dev/null
cpt=1
while [ "$cpt" -le "$nbimgdur" ]
do
fname=`printf "$tmpdir/%05d.jpg" "$cpt"`
ln -s "$tmpimg" "$fname"
cpt=`expr $cpt + 1`
done

Sachant que $1 est l'image fixe, $tmpimg un fichier temporaire,
$tmpdir un repertoire temporaire
et $nbimgdur le nombre de frames voulues (25*durée video en secondes)
Cela va creer des liens 00000.jpg pointants tous vers tmpimg

Si tu as deja les fichiers et que tu veux garder les noms existants,
un truc du genre (toujours bash) :
for f in *.jpg
do
rm $f
ln -s <fichierDest> $f
done
Attention, je n'ai pas testé !




oki merci j'ai fait un truc du genre :
#!/bin/sh
cp $1 fichier_cible.tmp
for I in *.png
do
echo "creation du lien symbolique $I -> $1"
ln -sf $1 $I
done
rm -rf $1
cp fichier_cible.tmp $1
rm -rf fichier_cible.tmp

C'est po propre ms ça marche... :)

++
JJL





--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
Daniel Caillibaud
giggz a écrit :
oki merci j'ai fait un truc du genre :
#!/bin/sh
cp $1 fichier_cible.tmp



Pourquoi copier ce fichier

for I in *.png
do
echo "creation du lien symbolique $I -> $1"
ln -sf $1 $I



Tu veux écraser tous les png du rep courant par un lien pointant sur $1 ?

done
rm -rf $1



Pourquoi effacer ça

cp fichier_cible.tmp $1



et le recréer juste derrière ?

rm -rf fichier_cible.tmp

C'est po propre ms ça marche... :)



Je comprends pas ce que tu veux faire...

Daniel


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact
Avatar
GIGGz
Daniel Caillibaud a écrit :
giggz a écrit :
oki merci j'ai fait un truc du genre :
#!/bin/sh
cp $1 fichier_cible.tmp



Pourquoi copier ce fichier




mon fichier cible est des png. si je ne le sauve pas en fichier
temporaire...je suppose qu'il va râler...ensuite j'efface le lien de la
cible vers la cible...normal non ? puis je le rétablis ds son état initial.

for I in *.png
do
echo "creation du lien symbolique $I -> $1"
ln -sf $1 $I



Tu veux écraser tous les png du rep courant par un lien pointant sur $1 ?

done
rm -rf $1



Pourquoi effacer ça

cp fichier_cible.tmp $1



et le recréer juste derrière ?

rm -rf fichier_cible.tmp

C'est po propre ms ça marche... :)



Je comprends pas ce que tu veux faire...

Daniel






--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact