[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: convertir des espaces en _ underscore



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.



Reply to: