[CentOS] Fixing filenames with directories with spaces in the names
John Doe
jdmls at yahoo.com
Tue Dec 28 11:02:45 UTC 2010
From: Craig White <craigwhite at azapple.com>
> for old in `cat "$FILENAME"`;do
> echo "$old"
> dirname "$old"
> new="$(echo $old | sed 's/\*/\-/')"
> done
> I'm trying to take out some stupid Macintosh things - in this case
> filenames with asterisks but I have others like tilde's and probably
> others that I haven't come across.
> Anyway, $FILENAME has...
> /tmp/New Woman In Field/*NEW woman in field.psd
> /tmp/New Woman In Field/*NEW woman in field 2.eps
> /tmp/New Woman In Field/*NEW woman in field 2.psd
> and the echoes are broken with spaces like this (which of course doesn't
> work)...
Not sure what you are trying to do (delete or rename or...), but try "while
read" instead of for (especially since the cmdline is limited)...
Example:
cat "$FILENAME" | while read OLD
do
NEW=$(echo "$OLD" | sed 's/\*/\-/')
mv -i "$OLD" "$NEW"
done
JD
More information about the CentOS
mailing list