File name offset


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers File name offset
# 1  
Old 11-17-2014
File name offset

Dear all,

I want to offset the file numbers. can you please make some awk code or linux code for the same.

Example:
input file names
Code:
ANI_WFMASS_PIST00001.gif
ANI_WFMASS_PIST00002.gif
.
.
.
ANI_WFMASS_PIST0000n.gif

offset --> 30

ANI_WFMASS_PIST00031.gif
ANI_WFMASS_PIST00032.gif
.
.
.
ANI_WFMASS_PIST000(30+n).gif

Please help me somebody.


Thanks in advance.

Best regards,
Krishna

Moderator's Comments:
Mod Comment Please use code tags next time for yur code and data
# 2  
Old 11-17-2014
Do you want to rename the files?
# 3  
Old 11-17-2014
Any attempts from your side?
# 4  
Old 11-17-2014
Will the layout always be like:
Code:
ANI_WFMASS_PIST0000n.gif

I am referring to the exact character layout:
grab third word, using _ as delimiter [PIST0000n.gif]
grab first word using . as delimiter [PIST0000n]
grab beginning with 5th letter [0000n]
# 5  
Old 11-17-2014
Yes i want to rename the files

Thanks

---------- Post updated at 06:04 AM ---------- Previous update was at 06:03 AM ----------

I am new to awk code i dont know much commands. plz help this time, i will learn from that. Thanks RudiC

---------- Post updated at 06:08 AM ---------- Previous update was at 06:04 AM ----------

Joeyg:
Will the layout always be like:

Code:
ANI_WFMASS_PIST0000n.gif

I am referring to the exact character layout:
grab third word, using _ as delimiter [PIST0000n.gif]
grab first word using . as delimiter [PIST0000n]
grab beginning with 5th letter [0000n].
-----------------------------------------------------------------------

I have vba code with this logic, but i have to transfer files every time, so I want to rename in linux.

I am new to awk. can you please make code (awk or linux).

Thank you so much.
Krishna
# 6  
Old 11-17-2014
This can be done only using shell built-ins (except for the ls and mv commands). Note that it uses a reverse order ls to move the highest numbered files first in case moving a lowered numbered file might overwrite a higher numbered file if they were renumbered in order.
Code:
cat *r
#!/bin/ksh
off=${1:-30}
ls -r ANI_WFMASS_PIST*.gif | while IFS='T.' read -r f num t
do	# Strip leading zeroes from $num
	if [ "$num" = "00000" ]
	then	old=0
	else	old=${num##*0}
	fi
	new=$(printf '%05d' "$((old + off))")
	echo mv "${f}T$old.$t" "${f}T$new.$t"
done

It defaults to adding 30 to each file number. If you invoke this script with one operand, it will use that operand as the offset instead of the default.

If this script correctly prints the mv commands you want, remove the echo shown in red and rerun it to actually rename the files.
This User Gave Thanks to Don Cragun For This Post:
# 7  
Old 11-18-2014
Thank you Craygun for your reply.

i am getting this below output from your code.

1. the old file is missing the 000 before the number.
2. for picture number with 10.gif reading as null. i dont know how to rectify this.

mv ANI_WFMASS_PIST16.gif ANI_WFMASS_PIST00046.gif
mv ANI_WFMASS_PIST15.gif ANI_WFMASS_PIST00045.gif
mv ANI_WFMASS_PIST14.gif ANI_WFMASS_PIST00044.gif
mv ANI_WFMASS_PIST13.gif ANI_WFMASS_PIST00043.gif
mv ANI_WFMASS_PIST12.gif ANI_WFMASS_PIST00042.gif
mv ANI_WFMASS_PIST11.gif ANI_WFMASS_PIST00041.gif
mv ANI_WFMASS_PIST.gif ANI_WFMASS_PIST00030.gif
mv ANI_WFMASS_PIST9.gif ANI_WFMASS_PIST00039.gif
mv ANI_WFMASS_PIST8.gif ANI_WFMASS_PIST00038.gif
mv ANI_WFMASS_PIST7.gif ANI_WFMASS_PIST00037.gif
mv ANI_WFMASS_PIST6.gif ANI_WFMASS_PIST00036.gif
mv ANI_WFMASS_PIST5.gif ANI_WFMASS_PIST00035.gif
mv ANI_WFMASS_PIST4.gif ANI_WFMASS_PIST00034.gif
mv ANI_WFMASS_PIST3.gif ANI_WFMASS_PIST00033.gif
mv ANI_WFMASS_PIST2.gif ANI_WFMASS_PIST00032.gif
mv ANI_WFMASS_PIST1.gif ANI_WFMASS_PIST00031.gif

Thanks again,

Looking for your reply.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Grep --byte-offset not returning the offset (Grep version 2.5.1)

Hi, I am trying to get the position of a repeated string in a line using grep -b -o "pattern" In my server I am using GNU grep version 2.14 and the code is working fine. However when I am deploying the same code in a different server which is using GNU grep version 2.5.1 the code is not... (3 Replies)
Discussion started by: Subhamoy
3 Replies

2. Shell Programming and Scripting

Get Compressed byte offset from .gz file

Hi , I have a .gz file whose contents look like below. data1^filename1 data2^filename2. .. . . Is it possible to find out the byte offset of each record from the .gz file. Like in an uncompressed file. grep -nb "Filename" give the byte offset of the record in this case. ... (4 Replies)
Discussion started by: chetan.c
4 Replies

3. UNIX for Dummies Questions & Answers

Tail with positive offset

I have read the below from the book bash cookbook.Tail +1 filenames is similar to cat filename I have tried the same in Ubuntu 11.10 with bash. 4.0 . I have received error for the Same. May I know in which system that will work fine ? Thanks (1 Reply)
Discussion started by: pandeesh
1 Replies

4. Solaris

NTP client offset

How to add offset to NTP client so that, for eg., clock is -20 seconds? (2 Replies)
Discussion started by: orange47
2 Replies

5. Shell Programming and Scripting

Moving bytes in file by offset and length

Hi, I'm looking for a way (other than C) to pull out a number of bytes in a Linux file for a giving length. for example: file1 contains 2 records: abcdefghijkl mnopqrstuv ..... so, I want to pull starting in byte 9 for a length of 8 file2 would contain: ijkmnopq Thanks (2 Replies)
Discussion started by: jbt828
2 Replies

6. Shell Programming and Scripting

increment a value at an offset in hundreds very large hex file

I have a lot of very large hex files that I need to change one value at the same offset and save to another file. I have a script that finds each file and just need to put an operator for each file. I think sed might be able to do this but I have not used it before and would like some help. If... (8 Replies)
Discussion started by: Eruditass
8 Replies

7. Programming

Negative Offset

Function: int fcntl(int fd, int cmd, struct flock * lock) Data Type: struct flock This structure is used with the fcntl function to describe a file lock. It has these members: off_t l_start This specifies the offset of the start of the region to which the lock applies, and... (1 Reply)
Discussion started by: DNAx86
1 Replies

8. UNIX for Dummies Questions & Answers

Reading a file from a specified offset

Hi, I want to read a file from a specified offset from the start of file. With the read command, is it possible to do so. Please suggest. Is there any other alternative? Thanks, Saurabh (2 Replies)
Discussion started by: saurabhsinha23
2 Replies

9. UNIX for Advanced & Expert Users

Script to Extract the line from File with specified offset

Hi All, I need to extract only XML details from large log file which may contain other unwanted junk details. For example, our xml will be start as <OUTBOUND_MESSAGE .....> and ends with </OUTBOUND_MESSAGE>. I want to extract only lines between these start and end tag (Including these tags)... (5 Replies)
Discussion started by: thinakarmani
5 Replies

10. UNIX for Dummies Questions & Answers

offset - informix chunk

Hello all, I am trying to add chunks to my informix dataspace. I have one dataspace ( the rootdbs ) and the new chunk is a raw device. Precisely slice1 on my new external harddisk. The question is, what should be the offset value. The document says, the offset is used by the engine to... (1 Reply)
Discussion started by: shibz
1 Replies
Login or Register to Ask a Question