You can try to adapt this example from The Advanced Bash Scripting Guide:
http://www.tldp.org/LDP/abs/html/moreadv.html#EX57

It deletes the file, but it shouldn't be too hard to adapt to your needs.

--Brian

On Monday 17 February 2003 01:11 pm, Theo. Sean Schulze wrote:
> Hello,
>
> I am trying to write a bash shell script that will translate spaces in file
> names into underline characters.  This is the script as I have it now:
>
>
> for file in `ls`
> do
>       echo $file
>       newfile=`ls ${file} | tr '[:space:]' '[_*]'`
>       echo File is named ${file}
>       echo The new file is named ${newfile}
>       # [[ -s $newfile ]] || (mv $file $newfile)
>       sleep 2
> done
>
> The lines that begin with echo and the sleep line are for debugging.  What
> they have shown me is that the $file is getting set to the first word in
> the file name on the first iteration, the second word on the second
> interation, etc.  (The file names look like "001 of 150 files", "002 of 150
> files", etc.)  So, on the first iteration, $file is egual to "001", on the
> second iteration $file is equal to "of", etc.  Yet, if I go to the
> directory and issue `ls`, the filenames are shown as one would expect with
> the whole four word filename on one line.
>
> Can anyone give me a hint on how to fix this so that the whole filename is
> loaded into $file?
>
> TIA,
> Sean

-
To unsubscribe from this list: send the line "unsubscribe linux-newbie" in
the body of a message to [EMAIL PROTECTED]
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.linux-learn.org/faqs

Reply via email to