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

Re: echo/sed combination inserts extra characters



On Sat, Nov 18, 2006 at 12:39:26PM -0500, Jesus Arocho wrote:
> I want to rename a series of photo files downloaded from a camera; the intent 
> is to append the date to the beginning of the file name.  The relevant lines 
> are:
> 
> newdir=`date +%F | sed 's/-//g'` #newdir used to make the directory and to 
> rename the files.
> 
> new=??`echo $i | sed -e 's/_//'` # strip the current file name of the underline 
> in the middle dsc_0001.jpg to dsc0001.jpg
> 
> mv -f $i $newdir'_'$new  #rename the current file
> 
> The resulting file name may contain an extraneous character (does not print) 
> located just after the _ ; as if the echo/sed combination had added a 
> character.  The processing continues because the loop is selecting all jpg or 
> nef files, but trying to do something with the file from the command line 
> results in file not found.  I can see the extra character in konqueror.
> 
This seems overly complicated.  Why not just use rename(1)?  It supports
Perl-compatible REs.  For example, to get rid of the underscore:

rename 's/_//' *.jpg

And so on.

Regards,

-Roberto

-- 
Roberto C. Sanchez
http://people.connexer.com/~roberto
http://www.connexer.com

Attachment: signature.asc
Description: Digital signature


Reply to: