[Thread Prev][Thread Next][Index]

Re: [ferret_users] Naming (sorting) output frames in the loop REPEAT/L=...



Dear Ferret Users, 

Thank you for responses, it solves the problem. 

Meanwhile, to avoid redoing some Ferret batches I've done before, 
I put together simple c-shell script that does renaming job (without
leading zeros, if indeed someone cares about it)

*******************ordering_scrip***************
#!/bin/csh/

# This c-shell script "ordering_script" RENAMES Ferret-produced 
# series of GIF-frames conventionally named 
#                                       frame.gif, frame.gif.~1~, frame.gif.~2~ 
# to series of GIF-frames conveniently and commonly  named 
#                                       frame1001.gif, frame1002.gif, ...
# NOTE: 1. note +1 shift in numbering
#       2. The loop limit is set to 250, hardwiring in the script end  
#       3. All frames must be in the same (current) directory. 
#       4. To execute >source ./ordering_script 
#       5. check THE SCRIPT file mode, it must be executable
#          >chmod 775 ./ordering_script


# First frame, this is special case

echo "mv frame.gif frame1001.gif"
mv ./frame.gif ./frame1001.gif
 
#Renaming loop starts

@ p  = 1
@ pp = 1002

echo "renaming loop starts with P=$p and PP=$pp"

renaming:

foreach f (frame.gif.~$p~)

echo "Found $f, renaming it to frame$pp.gif"

mv ./$f ./frame$pp.gif
end 


 @ p++
 @ pp++
 
if ($p < 251) goto renaming

exit


**********************************


Dr. Sergei Maurits, HPC Specialist
Arctic Region Supercomputing Center
University of Alaska Fairbanks
Fairbanks, AK 99775-6020
907 450 8697 voice   907 450 8604 fax.
maurits@xxxxxxxx



On Jul 18, 2011, at 8:22 PM, Sergei Maurits wrote:

Dear Ferret Users, 

I output GIF files in the large loop with command REPEAT/L=1,120, 12. So far I failed 
to find syntax solution that would output my GIF-frames with L-count, like frame.001.gif, 
frame.002.gif, ...etc.  

Naturally, in the standard output the frames are named according to the Ferret standards

frame.gif
frame.gif.~1~
frame.gif.~2~
....

So, my questions:

1. Is there any way to name output with the current value of loop variable L in the GIF file name?
2. Are there some UNIX  tools for the following transition 


first frame         frame.gif         ==> frame.0001.gif
second frame  frame.gif.~1~ ==> frame.0002.gif
....
or something without leading zeros and dots (these are easy to insert) like

first frame        ==> frame.1.gif
second frame ==> frame.2.gif
....

Basically, I need something that counts frame not in a regular order and substitutes 
~n~  in Ferret notation with the direct order frame number

I am aware about Fsort utility, but I'd like to check first about other tools before I 
start my own scripting. 

Thank you, 
Sergei Maurits

Dr. Sergei Maurits, HPC Specialist
Arctic Region Supercomputing Center
University of Alaska Fairbanks
Fairbanks, AK 99775-6020
907 450 8697 voice   907 450 8604 fax.
maurits@xxxxxxxx




[Thread Prev][Thread Next][Index]
Contact Us
Dept of Commerce / NOAA / OAR / PMEL / Ferret

Privacy Policy | Disclaimer | Accessibility Statement