Entre autre, je souhaiterai supprimer tous les espaces situés dans les no ms de fichiers en les remplacant par des undescore par exemple.
Avec zsh,
mv $file ${file// /_}
Avec bash... de toutes façons il faut être masochiste pour faire du script shell avec autre chose que zsh.
jc06
O
Avec zsh,
mv $file ${file// /_}
Avec bash... de toutes façons il faut être masochiste pour faire du script shell avec autre chose que zsh.
Tu as certainement raison. Mais comme je debute, je prefere partir du basique. Et puis bash, je le trouve partout sur mes serveurs.
C'est pour cela que je me permets de poser ce genre de question qui parait surement tres trivial pour les utilisateurs linux qui scripte souvent. En fait pour preciser, mon truc. Je dois parcourir tout mon repertoire (j'ai fait une boucle for) et modifie r tous les noms de fichiers en supprimant les espaces. J'ai beaucoup de mal !!
Si vous aviez quelques references pour debuter en bash-scripting je prends.
Merci. J.C
O
Avec zsh,
mv $file ${file// /_}
Avec bash... de toutes façons il faut être masochiste pour faire du
script shell avec autre chose que zsh.
Tu as certainement raison.
Mais comme je debute, je prefere partir du basique.
Et puis bash, je le trouve partout sur mes serveurs.
C'est pour cela que je me permets de poser ce genre de question qui parait surement tres trivial pour les utilisateurs linux qui scripte souvent.
En fait pour preciser, mon truc.
Je dois parcourir tout mon repertoire (j'ai fait une boucle for) et modifie r tous les noms de fichiers en supprimant les espaces.
J'ai beaucoup de mal !!
Si vous aviez quelques references pour debuter en bash-scripting je prends.
Avec bash... de toutes façons il faut être masochiste pour faire du script shell avec autre chose que zsh.
Tu as certainement raison. Mais comme je debute, je prefere partir du basique. Et puis bash, je le trouve partout sur mes serveurs.
C'est pour cela que je me permets de poser ce genre de question qui parait surement tres trivial pour les utilisateurs linux qui scripte souvent. En fait pour preciser, mon truc. Je dois parcourir tout mon repertoire (j'ai fait une boucle for) et modifie r tous les noms de fichiers en supprimant les espaces. J'ai beaucoup de mal !!
Si vous aviez quelques references pour debuter en bash-scripting je prends.
Merci. J.C
jc06
Merci beaucoup de ton aide. Je finis ce que je suis en train de faire (autofs) et je me remets dessus. Au plus tard je vois ca des demain matin.
Encore merci. J.C
Merci beaucoup de ton aide.
Je finis ce que je suis en train de faire (autofs)
et je me remets dessus.
Au plus tard je vois ca des demain matin.
Merci beaucoup de ton aide. Je finis ce que je suis en train de faire (autofs) et je me remets dessus. Au plus tard je vois ca des demain matin.
Encore merci. J.C
Ronald
Le Mon, 07 Jun 2004 13:48:47 +0200, jc06 a écrit :
Bonjour,
Je suis en train de travailler sur la mise au point d'un script pour renommer automatiquement tous mes fichiers venant de windows.
Entre autre, je souhaiterai supprimer tous les espaces situés dans les noms de fichiers en les remplacant par des undescore par exemple.
J'ai un peu de mal dans le scripting etant un vrai debutant en scripting bash. Si vous pouviez me donner un peu d'aide.
Merci. J.C
J'ai ça qui peut t'intéresser:
#!/bin/bash function eradication { for file in *_-_*; do renamed=$(echo $file|sed s/_-_/_/); mv "$file" $renamed; done } function cherche { ls | grep _-_ 1>&2>/dev/null; } for file in * *; do renamed=$(echo $file|sed y/ /_/); mv "$file" $renamed; done; while cherche; do eradication; done; echo "fini";
Le Mon, 07 Jun 2004 13:48:47 +0200, jc06 a écrit :
Bonjour,
Je suis en train de travailler sur la mise au point d'un script pour
renommer automatiquement tous mes fichiers venant de windows.
Entre autre, je souhaiterai supprimer tous les espaces situés dans les
noms de fichiers en les remplacant par des undescore par exemple.
J'ai un peu de mal dans le scripting etant un vrai debutant en scripting
bash. Si vous pouviez me donner un peu d'aide.
Merci.
J.C
J'ai ça qui peut t'intéresser:
#!/bin/bash
function eradication
{
for file in *_-_*;
do renamed=$(echo $file|sed s/_-_/_/);
mv "$file" $renamed;
done
}
function cherche
{
ls | grep _-_ 1>&2>/dev/null;
}
for file in * *;
do renamed=$(echo $file|sed y/ /_/);
mv "$file" $renamed;
done;
while cherche;
do eradication;
done;
echo "fini";
Le Mon, 07 Jun 2004 13:48:47 +0200, jc06 a écrit :
Bonjour,
Je suis en train de travailler sur la mise au point d'un script pour renommer automatiquement tous mes fichiers venant de windows.
Entre autre, je souhaiterai supprimer tous les espaces situés dans les noms de fichiers en les remplacant par des undescore par exemple.
J'ai un peu de mal dans le scripting etant un vrai debutant en scripting bash. Si vous pouviez me donner un peu d'aide.
Merci. J.C
J'ai ça qui peut t'intéresser:
#!/bin/bash function eradication { for file in *_-_*; do renamed=$(echo $file|sed s/_-_/_/); mv "$file" $renamed; done } function cherche { ls | grep _-_ 1>&2>/dev/null; } for file in * *; do renamed=$(echo $file|sed y/ /_/); mv "$file" $renamed; done; while cherche; do eradication; done; echo "fini";
David LE BOURGEOIS
Bonjour,
Bonsoir.
Je suis en train de travailler sur la mise au point d'un script pour renommer automatiquement tous mes fichiers venant de windows.
Entre autre, je souhaiterai supprimer tous les espaces situés dans les noms de fichiers en les remplacant par des undescore par exemple.
Voila je vous remercie beaucoup pour votre aide. J'ai un truc qui marche a l'essai.
Mon script grace a vos conseils: -------------------------------------- #!/bin/bash # ce script s'appelle scriptRenom.sh set -x
# Renommage des noms de fichiers et repertoires comportant des espaces # dans le repertoire courant for i in * do ren=`echo $i | sed 's/ /_/g'` echo "$i" echo "$ren" if [ "$i" != "$ren" ] then mv "$i" $ren fi done -----------------------------------------
Bon ca marche impec. Surement pas trop optimisé (surement mieux avec * *) mais bon c'et fonc tionnel. Encore merci.
J.C
Voila je vous remercie beaucoup pour votre aide.
J'ai un truc qui marche a l'essai.
Mon script grace a vos conseils:
--------------------------------------
#!/bin/bash
# ce script s'appelle scriptRenom.sh
set -x
# Renommage des noms de fichiers et repertoires comportant des espaces
# dans le repertoire courant
for i in *
do
ren=`echo $i | sed 's/ /_/g'`
echo "$i"
echo "$ren"
if [ "$i" != "$ren" ]
then mv "$i" $ren
fi
done
-----------------------------------------
Bon ca marche impec.
Surement pas trop optimisé (surement mieux avec * *) mais bon c'et fonc tionnel.
Encore merci.
Voila je vous remercie beaucoup pour votre aide. J'ai un truc qui marche a l'essai.
Mon script grace a vos conseils: -------------------------------------- #!/bin/bash # ce script s'appelle scriptRenom.sh set -x
# Renommage des noms de fichiers et repertoires comportant des espaces # dans le repertoire courant for i in * do ren=`echo $i | sed 's/ /_/g'` echo "$i" echo "$ren" if [ "$i" != "$ren" ] then mv "$i" $ren fi done -----------------------------------------
Bon ca marche impec. Surement pas trop optimisé (surement mieux avec * *) mais bon c'et fonc tionnel. Encore merci.
J.C
jc06
Merci beaucoup. J'ai reussi a faire ce que je voulais. Grace a votre aide.
Mon script est le suivant : ------------------------------------ for i in * do ren=`echo $i | sed 's/ /_/g'` if [ "$i" != "$ren" ] then mv "$i" $ren fi done ----------------------------------
Surement pas tres otpimise (mieux de faire * *) mais c'est fonctionnel ;)
En fait ce qui me manquait c'etait for i in *
Je ne connaissais que for i in `ls` et ca me coupait les fichiers avec espace en deux variables ;)
Encore merci. En revanche je connaissais (un peu) deja sed, awk et grep ...
Puisque j'en suis a vous demander des tuyaux. J'ai un peu de mal a partir d'un fichier comprenant plusieurs champs. exemple fich1 -------------------------------------------- champ11 champ12 champ13 champ14 champ15 champ16 ......
Comment acceder a chaque champs de maniere individuelle. Merci de votre aide precieuse. J.C
Merci beaucoup.
J'ai reussi a faire ce que je voulais.
Grace a votre aide.
Mon script est le suivant :
------------------------------------
for i in *
do
ren=`echo $i | sed 's/ /_/g'`
if [ "$i" != "$ren" ]
then mv "$i" $ren
fi
done
----------------------------------
Surement pas tres otpimise (mieux de faire * *) mais c'est fonctionnel ;)
En fait ce qui me manquait c'etait
for i in *
Je ne connaissais que
for i in `ls`
et ca me coupait les fichiers avec espace en deux variables ;)
Encore merci.
En revanche je connaissais (un peu) deja sed, awk et grep ...
Puisque j'en suis a vous demander des tuyaux.
J'ai un peu de mal a partir d'un fichier comprenant plusieurs champs.
exemple fich1
--------------------------------------------
champ11 champ12 champ13 champ14 champ15 champ16 ......
Merci beaucoup. J'ai reussi a faire ce que je voulais. Grace a votre aide.
Mon script est le suivant : ------------------------------------ for i in * do ren=`echo $i | sed 's/ /_/g'` if [ "$i" != "$ren" ] then mv "$i" $ren fi done ----------------------------------
Surement pas tres otpimise (mieux de faire * *) mais c'est fonctionnel ;)
En fait ce qui me manquait c'etait for i in *
Je ne connaissais que for i in `ls` et ca me coupait les fichiers avec espace en deux variables ;)
Encore merci. En revanche je connaissais (un peu) deja sed, awk et grep ...
Puisque j'en suis a vous demander des tuyaux. J'ai un peu de mal a partir d'un fichier comprenant plusieurs champs. exemple fich1 -------------------------------------------- champ11 champ12 champ13 champ14 champ15 champ16 ......
Comment acceder a chaque champs de maniere individuelle. Merci de votre aide precieuse. J.C
Le Souricier Gris
Merci beaucoup. J'ai reussi a faire ce que je voulais. Grace a votre aide.
Mon script est le suivant : ------------------------------------ for i in * do ren=`echo $i | sed 's/ /_/g'` if [ "$i" != "$ren" ] then mv "$i" $ren fi done ----------------------------------
Surement pas tres otpimise (mieux de faire * *) mais c'est fonctionnel ;)
En fait ce qui me manquait c'etait for i in *
Je ne connaissais que for i in `ls` et ca me coupait les fichiers avec espace en deux variables ;)
Encore merci. En revanche je connaissais (un peu) deja sed, awk et grep ...
Puisque j'en suis a vous demander des tuyaux. J'ai un peu de mal a partir d'un fichier comprenant plusieurs champs. exemple fich1 -------------------------------------------- champ11 champ12 champ13 champ14 champ15 champ16 ......
Merci beaucoup.
J'ai reussi a faire ce que je voulais.
Grace a votre aide.
Mon script est le suivant :
------------------------------------
for i in *
do
ren=`echo $i | sed 's/ /_/g'`
if [ "$i" != "$ren" ]
then mv "$i" $ren
fi
done
----------------------------------
Surement pas tres otpimise (mieux de faire * *) mais c'est fonctionnel ;)
En fait ce qui me manquait c'etait
for i in *
Je ne connaissais que
for i in `ls`
et ca me coupait les fichiers avec espace en deux variables ;)
Encore merci.
En revanche je connaissais (un peu) deja sed, awk et grep ...
Puisque j'en suis a vous demander des tuyaux.
J'ai un peu de mal a partir d'un fichier comprenant plusieurs champs.
exemple fich1
--------------------------------------------
champ11 champ12 champ13 champ14 champ15 champ16 ......
Merci beaucoup. J'ai reussi a faire ce que je voulais. Grace a votre aide.
Mon script est le suivant : ------------------------------------ for i in * do ren=`echo $i | sed 's/ /_/g'` if [ "$i" != "$ren" ] then mv "$i" $ren fi done ----------------------------------
Surement pas tres otpimise (mieux de faire * *) mais c'est fonctionnel ;)
En fait ce qui me manquait c'etait for i in *
Je ne connaissais que for i in `ls` et ca me coupait les fichiers avec espace en deux variables ;)
Encore merci. En revanche je connaissais (un peu) deja sed, awk et grep ...
Puisque j'en suis a vous demander des tuyaux. J'ai un peu de mal a partir d'un fichier comprenant plusieurs champs. exemple fich1 -------------------------------------------- champ11 champ12 champ13 champ14 champ15 champ16 ......
Dans le message <news:ca4hq0$k7q$, *Le Souricier Gris* tapota sur f.c.o.l.configuration :
cat fichier | awk '{ print $1 ... $n }'
UUOC. :( -1 ;)
-- TiChou
Hugolino
Le Mon, 7 Jun 2004 15:03:37 +0200, jc06 a écrit:
Si vous aviez quelques references pour debuter en bash-scripting je prends.
Je viens de trouver: Scripts sous Linux Shell Bash, Sed, Awk, Perl, Tcl, Tk, Pithon, Ruby auteur: Christophe Blaess Editeur: Eyrolles Prix: 45 ¤
C.Blaess a longtemps été le traducteur des pages de manuel de Linux.
Je n'ai pas encore utiliser beaucoup le bouquin, mais de prime abord il a l'air top.
JE pense qu'il doit être possible de trouver le sommaire au format pdf sur eyrolles.com
Mes 2¢
-- "Attention ! Si vous annulez l'annulation alors que le commencement n'est pas fini et que la fin n'a pas encore commencé, la désinstallation terminale ne sera pas terminée quand tout sera désinstallé" ? je traduis en dialecte shadokien, c'est un peu plus clair que les messages d'erreurs M$. -+- MA -+-
Le Mon, 7 Jun 2004 15:03:37 +0200, jc06 a écrit:
Si vous aviez quelques references pour debuter en bash-scripting je prends.
Je viens de trouver:
Scripts sous Linux
Shell Bash, Sed, Awk, Perl, Tcl, Tk, Pithon, Ruby
auteur: Christophe Blaess
Editeur: Eyrolles
Prix: 45 ¤
C.Blaess a longtemps été le traducteur des pages de manuel de Linux.
Je n'ai pas encore utiliser beaucoup le bouquin, mais de prime abord il
a l'air top.
JE pense qu'il doit être possible de trouver le sommaire au format pdf
sur eyrolles.com
Mes 2¢
--
"Attention ! Si vous annulez l'annulation alors que le commencement n'est pas
fini et que la fin n'a pas encore commencé, la désinstallation terminale ne
sera pas terminée quand tout sera désinstallé" ? je traduis en dialecte
shadokien, c'est un peu plus clair que les messages d'erreurs M$. -+- MA -+-
Si vous aviez quelques references pour debuter en bash-scripting je prends.
Je viens de trouver: Scripts sous Linux Shell Bash, Sed, Awk, Perl, Tcl, Tk, Pithon, Ruby auteur: Christophe Blaess Editeur: Eyrolles Prix: 45 ¤
C.Blaess a longtemps été le traducteur des pages de manuel de Linux.
Je n'ai pas encore utiliser beaucoup le bouquin, mais de prime abord il a l'air top.
JE pense qu'il doit être possible de trouver le sommaire au format pdf sur eyrolles.com
Mes 2¢
-- "Attention ! Si vous annulez l'annulation alors que le commencement n'est pas fini et que la fin n'a pas encore commencé, la désinstallation terminale ne sera pas terminée quand tout sera désinstallé" ? je traduis en dialecte shadokien, c'est un peu plus clair que les messages d'erreurs M$. -+- MA -+-