Rename file last char


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Rename file last char
# 1  
Old 01-13-2009
Rename file last char

I want to rename the file from below format to

ABCDEFCGHF20090112345623.DAT to

ABCDEFCGHF20090112345624.DAT

the last digit before dot to increment to 1. if it 9 should become 0

How to do this in simple way?
# 2  
Old 01-13-2009
One way, try it first without the coloured part (not tested):

Code:
ls ABC*.DAT |
awk -F"." '{s=substr($1,length($1))
s++;s=s==10?0:s
printf("mv %s %s%s.%s\n", $0, substr($1,1,length($1)-1), s, $2)}
' | sh

Regards
# 3  
Old 01-14-2009
Quote:
Originally Posted by svenkatareddy
I want to rename the file from below format to

ABCDEFCGHF20090112345623.DAT to

ABCDEFCGHF20090112345624.DAT

the last digit before dot to increment to 1. if it 9 should become 0

How to do this in simple way?


Code:
file=ABCDEFCGHF20090112345623.DAT
base=${file%.*}         # => ABCDEFCGHF20090112345623
suffix=${file#"$base"}  # => .DAT
prefix=${base%%[0-9]*}  # => ABCDEFCGHF
num=${base#"$prefix"}   # -> 20090112345623
newfile=$prefix$(( $num + 1 ))$suffix # => ABCDEFCGHF20090112345624.DAT

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Substitute particular char in a file

I have a file like this. 1 aaa bcd 1 56 xyz 1 2 ccc rrr 1 25 512 1 1 zaz eee 1 55 511 1 I want to change middle 1's ie after bcd,rrr,eee to 0 where as other 1's should not change. Can you please provide a solution . (5 Replies)
Discussion started by: kshari8888
5 Replies

2. UNIX for Advanced & Expert Users

File command return wrong filetype while file holds group separator char.

hi, I am trying to get the FileType using the File command. I have one file, which holds Group separator along with ASCII character. It's a Text file. But when I ran the File command the FileType is coming as "data". It should be "ASCII, Text file". Is the latest version of File... (6 Replies)
Discussion started by: Arpitak29
6 Replies

3. Programming

Invalid conversion from char* to char

Pointers are seeming to get the best of me and I get that error in my program. Here is the code #include <stdio.h> #include <stdlib.h> #include <string.h> #define REPORTHEADING1 " Employee Pay Hours Gross Tax Net\n" #define REPORTHEADING2 " Name ... (1 Reply)
Discussion started by: Plum
1 Replies

4. Shell Programming and Scripting

To search null and char in file

Hi guys, I want to know how i can search null value and character value in a feed file. my file has Pipe delimted records. for eg: 1|12|xxx|yyy . . . N records I know the the which column null and char occurs does it has for eg 3rd column which i can obtain by awk $3 and (7 Replies)
Discussion started by: rohit_shinez
7 Replies

5. Emergency UNIX and Linux Support

How to use read the char * from file?

i have a file 1.txt. the file contains: * server1.com : ewf,wefwef,wef,wef ------------------------------------- * server2.com : ewf,wefwef,wef,wef ------------------------------------- * server3.com : ewf,wefwef,wef,wef ------------------------------------- how can i read * ? from the... (4 Replies)
Discussion started by: zigizag
4 Replies

6. Programming

error: invalid conversion from ‘const char*’ to ‘char*’

Compiling xpp (The X Printing Panel) on SL6 (RHEL6 essentially): xpp.cxx: In constructor ‘printFiles::printFiles(int, char**, int&)’: xpp.cxx:200: error: invalid conversion from ‘const char*’ to ‘char*’ The same error with all c++ constructors - gcc 4.4.4. If anyone can throw any light on... (8 Replies)
Discussion started by: GSO
8 Replies

7. Programming

concat const char * with char *

hello everybody! i have aproblem! i dont know how to concatenate const char* with char const char *buffer; char *b; sprintf(b,"result.txt"); strcat(buffer,b); thanx in advance (4 Replies)
Discussion started by: nicos
4 Replies

8. Programming

Adding a single char to a char pointer.

Hello, I'm trying to write a method which will return the extension of a file given the file's name, e.g. test.txt should return txt. I'm using C so am limited to char pointers and arrays. Here is the code as I have it: char* getext(char *file) { char *extension; int i, j;... (5 Replies)
Discussion started by: pallak7
5 Replies

9. Shell Programming and Scripting

How to replace any char with newline char.

Hi, How to replace any character in a file with a newline character using sed .. Ex: To replace ',' with newline Input: abcd,efgh,ijkl,mnop Output: abcd efgh ijkl mnop Thnx in advance. Regards, Sasidhar (5 Replies)
Discussion started by: mightysam
5 Replies

10. Shell Programming and Scripting

need shell script to get last 10 char from a file name and write in to a new file

i have no idea abount shell script but i need need shell script to get last 10 char from a file name and write in to a new file. consider u hav 5 files in a particular dir i script should get last 10 char of each file n write the 10 char in separate files (2 Replies)
Discussion started by: raj0390
2 Replies
Login or Register to Ask a Question