J'ai eu besoin de me faire un petit script qui récupère les inodes des
fichiers dont le noms se finit par jpg ou avi (pour renommer les fichier
de mon appareil photo)
Ceci marche bien :
#!/bin/zsh
for i in `ls -Ai | grep -iE '(jpg$|avi$)' | awk 'BEGIN {FS=" "} {print $1}'`
do
[plein de chose]
done
Pour plus de fun je ne voulais pas le limiter aux fichiers jpg et avi
mais aussi mov png... J'ai pensé à quelque chose du style :
#!/bin/zsh
FILTRE="(jpg$|avi$)"
for i in `ls -Ai | grep -iE '$FILTRE' awk 'BEGIN {FS=" "} {print $1}'`
do
[plein de chose]
done
Mais rien à faire... J'ai essayé un peu au pif dans tous les sens en
enlevant des guillemets... J'y arrive pas :(
Je remercie le gourou qui m'aidera à y voir plus clair.
J'ai eu besoin de me faire un petit script qui récupère les inodes des fichiers dont le noms se finit par jpg ou avi (pour renommer les fichier de mon appareil photo)
Ceci marche bien : #!/bin/zsh for i in `ls -Ai | grep -iE '(jpg$|avi$)' | awk 'BEGIN {FS=" "} {print $1}'` do [plein de chose] done
Pour plus de fun je ne voulais pas le limiter aux fichiers jpg et avi mais aussi mov png... J'ai pensé à quelque chose du style : #!/bin/zsh FILTRE="(jpg$|avi$)" for i in `ls -Ai | grep -iE '$FILTRE' awk 'BEGIN {FS=" "} {print $1}'` do [plein de chose] done
Mais rien à faire... J'ai essayé un peu au pif dans tous les sens en enlevant des guillemets... J'y arrive pas :(
Je remercie le gourou qui m'aidera à y voir plus clair.
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes :
FILTRE='(jpg$|avi$)' # ici des simples quotes Ca devrait aller un peut mieux
Ce qui donne : #!/bin/zsh FILTRE='(jpg$|avi$)' for i in `ls -Ai | grep -iE '$FILTRE' | awk 'BEGIN {FS=" "} {print $1}'` do ... done
Nicolas Pontoizeau wrote:
Salut,
J'ai eu besoin de me faire un petit script qui récupère les inodes des
fichiers dont le noms se finit par jpg ou avi (pour renommer les fichier
de mon appareil photo)
Ceci marche bien :
#!/bin/zsh
for i in `ls -Ai | grep -iE '(jpg$|avi$)' | awk 'BEGIN {FS=" "} {print $1}'`
do
[plein de chose]
done
Pour plus de fun je ne voulais pas le limiter aux fichiers jpg et avi
mais aussi mov png... J'ai pensé à quelque chose du style :
#!/bin/zsh
FILTRE="(jpg$|avi$)"
for i in `ls -Ai | grep -iE '$FILTRE' awk 'BEGIN {FS=" "} {print $1}'`
do
[plein de chose]
done
Mais rien à faire... J'ai essayé un peu au pif dans tous les sens en
enlevant des guillemets... J'y arrive pas :(
Je remercie le gourou qui m'aidera à y voir plus clair.
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes :
FILTRE='(jpg$|avi$)' # ici des simples quotes
Ca devrait aller un peut mieux
Ce qui donne :
#!/bin/zsh
FILTRE='(jpg$|avi$)'
for i in `ls -Ai | grep -iE '$FILTRE' | awk 'BEGIN {FS=" "} {print $1}'`
do
...
done
J'ai eu besoin de me faire un petit script qui récupère les inodes des fichiers dont le noms se finit par jpg ou avi (pour renommer les fichier de mon appareil photo)
Ceci marche bien : #!/bin/zsh for i in `ls -Ai | grep -iE '(jpg$|avi$)' | awk 'BEGIN {FS=" "} {print $1}'` do [plein de chose] done
Pour plus de fun je ne voulais pas le limiter aux fichiers jpg et avi mais aussi mov png... J'ai pensé à quelque chose du style : #!/bin/zsh FILTRE="(jpg$|avi$)" for i in `ls -Ai | grep -iE '$FILTRE' awk 'BEGIN {FS=" "} {print $1}'` do [plein de chose] done
Mais rien à faire... J'ai essayé un peu au pif dans tous les sens en enlevant des guillemets... J'y arrive pas :(
Je remercie le gourou qui m'aidera à y voir plus clair.
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes :
FILTRE='(jpg$|avi$)' # ici des simples quotes Ca devrait aller un peut mieux
Ce qui donne : #!/bin/zsh FILTRE='(jpg$|avi$)' for i in `ls -Ai | grep -iE '$FILTRE' | awk 'BEGIN {FS=" "} {print $1}'` do ... done
Pascal Bourguignon
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> writes:
Salut,
J'ai eu besoin de me faire un petit script qui récupère les inodes des fichiers dont le noms se finit par jpg ou avi (pour renommer les fichier de mon appareil photo)
Ceci marche bien : #!/bin/zsh for i in `ls -Ai | grep -iE '(jpg$|avi$)' | awk 'BEGIN {FS=" "} {print $1}'` do [plein de chose] done
Pour plus de fun je ne voulais pas le limiter aux fichiers jpg et avi mais aussi mov png... J'ai pensé à quelque chose du style : #!/bin/zsh FILTRE="(jpg$|avi$)" for i in `ls -Ai | grep -iE '$FILTRE' awk 'BEGIN {FS=" "} {print $1}'` for i in `ls -Ai | grep -iE "$FILTRE"|awk 'BEGIN {FS=" "} {print $1}'`
^ ^^
do [plein de chose] done
Mais rien à faire... J'ai essayé un peu au pif dans tous les sens en enlevant des guillemets... J'y arrive pas :(
Je remercie le gourou qui m'aidera à y voir plus clair.
-- Nicolas Pontoizeau - Promo 2005
-- __Pascal Bourguignon__ http://www.informatimago.com/ The world will now reboot; don't bother saving your artefacts.
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> writes:
Salut,
J'ai eu besoin de me faire un petit script qui récupère les inodes des
fichiers dont le noms se finit par jpg ou avi (pour renommer les fichier
de mon appareil photo)
Ceci marche bien :
#!/bin/zsh
for i in `ls -Ai | grep -iE '(jpg$|avi$)' | awk 'BEGIN {FS=" "} {print $1}'`
do
[plein de chose]
done
Pour plus de fun je ne voulais pas le limiter aux fichiers jpg et avi
mais aussi mov png... J'ai pensé à quelque chose du style :
#!/bin/zsh
FILTRE="(jpg$|avi$)"
for i in `ls -Ai | grep -iE '$FILTRE' awk 'BEGIN {FS=" "} {print $1}'`
for i in `ls -Ai | grep -iE "$FILTRE"|awk 'BEGIN {FS=" "} {print $1}'`
^ ^^
do
[plein de chose]
done
Mais rien à faire... J'ai essayé un peu au pif dans tous les sens en
enlevant des guillemets... J'y arrive pas :(
Je remercie le gourou qui m'aidera à y voir plus clair.
--
Nicolas Pontoizeau - Promo 2005
--
__Pascal Bourguignon__ http://www.informatimago.com/
The world will now reboot; don't bother saving your artefacts.
Nicolas Pontoizeau <pontoize*NOSPAM*@Efrei.fr.invalid> writes:
Salut,
J'ai eu besoin de me faire un petit script qui récupère les inodes des fichiers dont le noms se finit par jpg ou avi (pour renommer les fichier de mon appareil photo)
Ceci marche bien : #!/bin/zsh for i in `ls -Ai | grep -iE '(jpg$|avi$)' | awk 'BEGIN {FS=" "} {print $1}'` do [plein de chose] done
Pour plus de fun je ne voulais pas le limiter aux fichiers jpg et avi mais aussi mov png... J'ai pensé à quelque chose du style : #!/bin/zsh FILTRE="(jpg$|avi$)" for i in `ls -Ai | grep -iE '$FILTRE' awk 'BEGIN {FS=" "} {print $1}'` for i in `ls -Ai | grep -iE "$FILTRE"|awk 'BEGIN {FS=" "} {print $1}'`
^ ^^
do [plein de chose] done
Mais rien à faire... J'ai essayé un peu au pif dans tous les sens en enlevant des guillemets... J'y arrive pas :(
Je remercie le gourou qui m'aidera à y voir plus clair.
-- Nicolas Pontoizeau - Promo 2005
-- __Pascal Bourguignon__ http://www.informatimago.com/ The world will now reboot; don't bother saving your artefacts.
Pascal Bourguignon
Christian CAMIER writes:
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes : FILTRE='(jpg$|avi$)' # ici des simples quotes Ca devrait aller un peut mieux
Ce qui donne : #!/bin/zsh FILTRE='(jpg$|avi$)' for i in `ls -Ai | grep -iE '$FILTRE' | awk 'BEGIN {FS=" "} {print $1}'` do
Faudra mélanger nos deux réponses...
-- __Pascal Bourguignon__ http://www.informatimago.com/ The world will now reboot; don't bother saving your artefacts.
Christian CAMIER <chcamier@nospam-free.fr> writes:
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes :
FILTRE='(jpg$|avi$)' # ici des simples quotes
Ca devrait aller un peut mieux
Ce qui donne :
#!/bin/zsh
FILTRE='(jpg$|avi$)'
for i in `ls -Ai | grep -iE '$FILTRE' | awk 'BEGIN {FS=" "} {print $1}'`
do
Faudra mélanger nos deux réponses...
--
__Pascal Bourguignon__ http://www.informatimago.com/
The world will now reboot; don't bother saving your artefacts.
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes : FILTRE='(jpg$|avi$)' # ici des simples quotes Ca devrait aller un peut mieux
Ce qui donne : #!/bin/zsh FILTRE='(jpg$|avi$)' for i in `ls -Ai | grep -iE '$FILTRE' | awk 'BEGIN {FS=" "} {print $1}'` do
Faudra mélanger nos deux réponses...
En effet! grep -iE (jpg$|avi$) marche pas grep -iE '(jpg$|avi$)' marche FILTRE="(jpg$|avi$)" grep -iE "$FILTRE" marche aussi FILTRE="'(jpg$|avi$)'" grep -iE "$FILTRE" marche pas
Je trouve que c'est bizarre quand même. Enfin merci à vous deux pour votre solution si rapide!
-- Naissez sur ou au dessus des eaux internationnales et votre nationalité sera la mer ou le ciel. Naissez sur Terre et vous ne serez jamais "terrien". L'Etat n'est pas compatible avec la poésie, il n'est pas compatible avec mon ethique. Nicolas Pontoizeau - Promo 2005
Christian CAMIER <chcamier@nospam-free.fr> writes:
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes :
FILTRE='(jpg$|avi$)' # ici des simples quotes
Ca devrait aller un peut mieux
Ce qui donne :
#!/bin/zsh
FILTRE='(jpg$|avi$)'
for i in `ls -Ai | grep -iE '$FILTRE' | awk 'BEGIN {FS=" "} {print $1}'`
do
Faudra mélanger nos deux réponses...
En effet!
grep -iE (jpg$|avi$) marche pas
grep -iE '(jpg$|avi$)' marche
FILTRE="(jpg$|avi$)"
grep -iE "$FILTRE" marche aussi
FILTRE="'(jpg$|avi$)'"
grep -iE "$FILTRE" marche pas
Je trouve que c'est bizarre quand même. Enfin merci à vous deux pour
votre solution si rapide!
--
Naissez sur ou au dessus des eaux internationnales et votre nationalité sera
la mer ou le ciel. Naissez sur Terre et vous ne serez jamais "terrien". L'Etat
n'est pas compatible avec la poésie, il n'est pas compatible avec mon ethique.
Nicolas Pontoizeau - Promo 2005
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes : FILTRE='(jpg$|avi$)' # ici des simples quotes Ca devrait aller un peut mieux
Ce qui donne : #!/bin/zsh FILTRE='(jpg$|avi$)' for i in `ls -Ai | grep -iE '$FILTRE' | awk 'BEGIN {FS=" "} {print $1}'` do
Faudra mélanger nos deux réponses...
En effet! grep -iE (jpg$|avi$) marche pas grep -iE '(jpg$|avi$)' marche FILTRE="(jpg$|avi$)" grep -iE "$FILTRE" marche aussi FILTRE="'(jpg$|avi$)'" grep -iE "$FILTRE" marche pas
Je trouve que c'est bizarre quand même. Enfin merci à vous deux pour votre solution si rapide!
-- Naissez sur ou au dessus des eaux internationnales et votre nationalité sera la mer ou le ciel. Naissez sur Terre et vous ne serez jamais "terrien". L'Etat n'est pas compatible avec la poésie, il n'est pas compatible avec mon ethique. Nicolas Pontoizeau - Promo 2005
Stephane Chazelas
2004-12-11, 14:46(+00), Nicolas Pontoizeau:
Salut,
J'ai eu besoin de me faire un petit script qui récupère les inodes des fichiers dont le noms se finit par jpg ou avi (pour renommer les fichier de mon appareil photo)
Ceci marche bien : #!/bin/zsh for i in `ls -Ai | grep -iE '(jpg$|avi$)' | awk 'BEGIN {FS=" "} {print $1}'` do [plein de chose] done
zmodload zsh/stat setopt extendglob
extensions='avi|jpg'
for i in *.(#i)($~extensions)(ND); do stat -L -H st -- $i print -r "l'inode de $i est $st[inode]" done
Pas une bonne idee de post-processer l'output de ls.
Voir le GNU find et son -printf aussi.
-- Stephane
2004-12-11, 14:46(+00), Nicolas Pontoizeau:
Salut,
J'ai eu besoin de me faire un petit script qui récupère les inodes des
fichiers dont le noms se finit par jpg ou avi (pour renommer les fichier
de mon appareil photo)
Ceci marche bien :
#!/bin/zsh
for i in `ls -Ai | grep -iE '(jpg$|avi$)' | awk 'BEGIN {FS=" "} {print $1}'`
do
[plein de chose]
done
zmodload zsh/stat
setopt extendglob
extensions='avi|jpg'
for i in *.(#i)($~extensions)(ND); do
stat -L -H st -- $i
print -r "l'inode de $i est $st[inode]"
done
Pas une bonne idee de post-processer l'output de ls.
J'ai eu besoin de me faire un petit script qui récupère les inodes des fichiers dont le noms se finit par jpg ou avi (pour renommer les fichier de mon appareil photo)
Ceci marche bien : #!/bin/zsh for i in `ls -Ai | grep -iE '(jpg$|avi$)' | awk 'BEGIN {FS=" "} {print $1}'` do [plein de chose] done
zmodload zsh/stat setopt extendglob
extensions='avi|jpg'
for i in *.(#i)($~extensions)(ND); do stat -L -H st -- $i print -r "l'inode de $i est $st[inode]" done
Pas une bonne idee de post-processer l'output de ls.
Voir le GNU find et son -printf aussi.
-- Stephane
Stephane Chazelas
2004-12-11, 15:34(+01), Christian CAMIER: [...]
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes : FILTRE='(jpg$|avi$)' # ici des simples quotes [...]
Oui, mais comme $| et $) ne sont pas des noms valides de variables (encore que ca pourrait changer dans des versions futures de zsh), ca ne devrait pas poser de probleme.
Par contre, tous les greps n'aiment pas avoir $ ailleurs qu'en fin d'expression (meme s'ils devraient s'ils etaient POSIX conformant).
FILTRE='(jpg|avi)$'
est plus portable.
-- Stephane
2004-12-11, 15:34(+01), Christian CAMIER:
[...]
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes :
FILTRE='(jpg$|avi$)' # ici des simples quotes
[...]
Oui, mais comme $| et $) ne sont pas des noms valides de
variables (encore que ca pourrait changer dans des versions
futures de zsh), ca ne devrait pas poser de probleme.
Par contre, tous les greps n'aiment pas avoir $ ailleurs qu'en
fin d'expression (meme s'ils devraient s'ils etaient POSIX
conformant).
Normal, entre doubles quotes, le dolar ($) est interprété. Tentes : FILTRE='(jpg$|avi$)' # ici des simples quotes [...]
Oui, mais comme $| et $) ne sont pas des noms valides de variables (encore que ca pourrait changer dans des versions futures de zsh), ca ne devrait pas poser de probleme.
Par contre, tous les greps n'aiment pas avoir $ ailleurs qu'en fin d'expression (meme s'ils devraient s'ils etaient POSIX conformant).