On Wed, Jul 21, 2004 at 09:53:47PM +0200, Astar0th wrote:
>(Ça marche d'ailleurs aussi sur les répertoires, mais ça >s'emmèle un peu les pinceaux pour les fichiers qui sont dans >un répertoire qui a changé de nom... Donc on doit pouvoir >faire mieux.)
find . -name '* *' -exec rename "s/ /_/g" {} ; ?
Hmm, ça ne semble pas marcher mieux: :~/tmp$ find . ./blah blah ./hello world ./hello world/bleh bleh
:~/tmp$ find . -name '* *' -exec rename "s/ /_/g" {} ; find: ./hello world: No such file or directory :~/tmp$ find . ./hello_world ./hello_world/bleh bleh ./blah_blah
(Ça marche jusqu'à ce que ça déplace un répertoire...)
Y.
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
On Wed, Jul 21, 2004 at 09:53:47PM +0200, Astar0th wrote:
>(Ça marche d'ailleurs aussi sur les répertoires, mais ça
>s'emmèle un peu les pinceaux pour les fichiers qui sont dans
>un répertoire qui a changé de nom... Donc on doit pouvoir
>faire mieux.)
find . -name '* *' -exec rename "s/ /_/g" {} ;
?
Hmm, ça ne semble pas marcher mieux:
yves@shrek:~/tmp$ find
.
./blah blah
./hello world
./hello world/bleh bleh
yves@shrek:~/tmp$ find . -name '* *' -exec rename "s/ /_/g"
{} ;
find: ./hello world: No such file or directory
yves@shrek:~/tmp$ find
.
./hello_world
./hello_world/bleh bleh
./blah_blah
(Ça marche jusqu'à ce que ça déplace un répertoire...)
Y.
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter 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
On Wed, Jul 21, 2004 at 09:53:47PM +0200, Astar0th wrote:
>(Ça marche d'ailleurs aussi sur les répertoires, mais ça >s'emmèle un peu les pinceaux pour les fichiers qui sont dans >un répertoire qui a changé de nom... Donc on doit pouvoir >faire mieux.)
find . -name '* *' -exec rename "s/ /_/g" {} ; ?
Hmm, ça ne semble pas marcher mieux: :~/tmp$ find . ./blah blah ./hello world ./hello world/bleh bleh
:~/tmp$ find . -name '* *' -exec rename "s/ /_/g" {} ; find: ./hello world: No such file or directory :~/tmp$ find . ./hello_world ./hello_world/bleh bleh ./blah_blah
(Ça marche jusqu'à ce que ça déplace un répertoire...)
Y.
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Yves Rutschle
On Wed, Jul 21, 2004 at 10:06:17PM +0000, Younes Zouhair wrote:
#!/bin/bash # blank-rename.sh # # Substitutes underscores for blanks in all the filenames in a directory.
ONE=1 # For getting singular/plural right (see below). number=0 # Keeps track of how many files actually renamed. FOUND=0 # Successful return value.
for filename in * #Traverse all files in directory. do echo "$filename" | grep -q " " # Check whether filename if [ $? -eq $FOUND ] #+ contains space(s). then fname=$filename # Strip off path. n=`echo $fname | sed -e "s/ /_/g"` # Substitute underscore for blank. mv "$fname" "$n" # Do the actual renaming. let "number += 1" fi done
if [ "$number" -eq "$ONE" ] # For correct grammar. then echo "$number file renamed." else echo "$number files renamed." fi
exit 0
Félicitation, c'est une façon très longue de dire:
rename "s/ /_/g" *
Ça ne résoud pas le problème des sous-répertoires.
Y.
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
On Wed, Jul 21, 2004 at 10:06:17PM +0000, Younes Zouhair wrote:
#!/bin/bash
# blank-rename.sh
#
# Substitutes underscores for blanks in all the filenames in a directory.
ONE=1 # For getting singular/plural right (see below).
number=0 # Keeps track of how many files actually renamed.
FOUND=0 # Successful return value.
for filename in * #Traverse all files in directory.
do
echo "$filename" | grep -q " " # Check whether filename
if [ $? -eq $FOUND ] #+ contains space(s).
then
fname=$filename # Strip off path.
n=`echo $fname | sed -e "s/ /_/g"` # Substitute underscore for blank.
mv "$fname" "$n" # Do the actual renaming.
let "number += 1"
fi
done
if [ "$number" -eq "$ONE" ] # For correct grammar.
then
echo "$number file renamed."
else
echo "$number files renamed."
fi
exit 0
Félicitation, c'est une façon très longue de dire:
rename "s/ /_/g" *
Ça ne résoud pas le problème des sous-répertoires.
Y.
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter 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
On Wed, Jul 21, 2004 at 10:06:17PM +0000, Younes Zouhair wrote:
#!/bin/bash # blank-rename.sh # # Substitutes underscores for blanks in all the filenames in a directory.
ONE=1 # For getting singular/plural right (see below). number=0 # Keeps track of how many files actually renamed. FOUND=0 # Successful return value.
for filename in * #Traverse all files in directory. do echo "$filename" | grep -q " " # Check whether filename if [ $? -eq $FOUND ] #+ contains space(s). then fname=$filename # Strip off path. n=`echo $fname | sed -e "s/ /_/g"` # Substitute underscore for blank. mv "$fname" "$n" # Do the actual renaming. let "number += 1" fi done
if [ "$number" -eq "$ONE" ] # For correct grammar. then echo "$number file renamed." else echo "$number files renamed." fi
exit 0
Félicitation, c'est une façon très longue de dire:
rename "s/ /_/g" *
Ça ne résoud pas le problème des sous-répertoires.
Y.
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
Charles Plessy
On Thu, Jul 22, 2004 at 02:37:30AM +0100, Yves Rutschle wrote :
Ça ne résoud pas le problème des sous-répertoires.
À mon avis, il faut un truc récursif du genre :
Boucle : si (Répertoires) alors pour chaque (Répertoires) cd répertoire Boucle sinon rename_tout_dans_le_répertoire return
-- Charles
-- Pensez à lire la FAQ de la liste avant de poser une question : http://wiki.debian.net/?DebianFrench
Pensez à rajouter le mot ``spam'' dans vos champs "From" et "Reply-To:"
To UNSUBSCRIBE, email to with a subject of "unsubscribe". Trouble? Contact
On Thu, Jul 22, 2004 at 02:37:30AM +0100, Yves Rutschle wrote :
Ça ne résoud pas le problème des sous-répertoires.
À mon avis, il faut un truc récursif du genre :
Boucle :
si (Répertoires)
alors pour chaque (Répertoires)
cd répertoire
Boucle
sinon rename_tout_dans_le_répertoire
return
--
Charles
--
Pensez à lire la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Pensez à rajouter 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