The UNIX and Linux Forums  


Go Back   The UNIX and Linux Forums > Top Forums > Shell Programming and Scripting
.
google unix.com




View Single Post in the UNIX and Linux Forums - Click on the Thread or Permalink to View Entire Thread -->
  #1 (permalink)  
Old 03-18-2009
hootdocta5 hootdocta5 is offline
Registered User
  
 

Join Date: Mar 2009
Posts: 5
Script to number incoming files

Hey guys,

I am working on a Cshell script and I am stuck on this one part. I need to be able to copy in files to my directory but give them different names so they don't overwrite each other. For example, my folder already contains FILE.1 I want my script to name the next file copied over FILE.2 and the next one FILE.3 and so on. It should be able to tell what files are there and named the new one the next highest value. So I have FILE.1, FILE.2, and FILE.3 in my directory now, If I copy in another file, my script should rename it FILE.4 This script has been driving me nuts all day I can't figure it out. Here is what I have so far. Thanks in advance. New code would be appreciated because I obviously have no clue what I'm doing in this piece.


Code:
while (-d FILE.0)
cp -r FILE FILE.1
 
set ctr = 1
foreach f(*)
   set var1 = 'file $f | awk '{printf "%s\n",$3}''
   if ($var1 == 1) then
      FILE = 'ls $f | cut -f1 -d "."'
      1 = 'ls $f | awk -F "." '{printf "%s\n",$2}''
      mv $f $FILE$ctr.$1
      ctr = 'expr $ctr + 1'
  endif
end
end