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.

Répondre à