Re: shell/Perl question

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

 



Thanks Glynn
I tried the first method and It works fine.

What is the use of echo *.jpg in (cd "$dir" && echo *.jpg)? Is it mandatory?
Where can I find more details on ${file%%.jpg} stuff? is it in the bash manual?...


thanks

Vick

From: Glynn Clements <glynn@xxxxxxxxxxxxxxxxxx>
To: "vick Julius" <julius_vick@xxxxxxxxxxx>
CC: linux-admin@xxxxxxxxxxxxxxx
Subject: Re: shell/Perl question
Date: Tue, 2 Nov 2004 06:58:21 +0000


vick Julius wrote:

> I have several directories (around 10) named ABC, DEF, GHI,...
> Each directory contains more than 50 files named, for example, 1.jpg, 2.jpg,
> 3.jpg,...50.jpg
> These names are the same in each directory (this is what digital cameras do,
> they give the same names...)
> My problem is: I want to put all these files in the same directory, for
> example, Photos, with the following names:
> 1ABC.jpg, 2ABC.jpg, ...50ABC.jpg, 1DEF.jpg, 2DEF.jpg...50DEF.jpg,...
> each image filename (such as 1.jpg) will be split and to insert the name of
> the directory (such as ABC..) after the first part of the name and finally
> append the extension (.jpg) to the filename.


Two examples:

	for dir in ABC DEF GHI ; do
	 for file in `(cd "$dir" && echo *.jpg)` ; do
	  mv "$dir/$file" "Photos/${file%%.jpg}$dir.jpg"
	 done
	done

find . -type f | sed 's!^\./\(.*\)/\(.*\)\.jpg$!mv \1/\2.jpg Photos/\2\1.jpg!' | sh

If any of the filenames contain spaces, it gets more complex.

--
Glynn Clements <glynn@xxxxxxxxxxxxxxxxxx>

_________________________________________________________________
Don't just search. Find. Check out the new MSN Search! http://search.msn.com/


-
: send the line "unsubscribe linux-admin" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html

[Index of Archives]     [Linux Newbie]     [Audio]     [Hams]     [Kernel Newbies]     [Util Linux NG]     [Security]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux RAID]     [Linux Device Drivers]     [Samba]     [Video 4 Linux]     [Git]     [Fedora Users]

  Powered by Linux