Insert date/time within a filename


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Insert date/time within a filename
# 1  
Old 11-07-2005
Insert date/time within a filename

Hi Guys,

I need to script the renaming of files as followins:

files:

firstjd
secondjo
thirdjv

My script needs to insert the date/time infront of the last 2 characters of the filenames above, any ideas greatly received Smilie
the letters before the last 2 characters could change, I'm only interested in inserting date/time in front of the last 2 characters, whatever they maybe.

Many thanks
# 2  
Old 11-07-2005
Check this out.

Code:
#! /bin/sh

for FILE in firstjd secondjo thirdjv
do
        NAME_LEN=${#FILE}
        FILE_END=${FILE:$NAME_LEN-2:$NAME_LEN}
        FILE_START=${FILE%$FILE_END}
        NEW_NAME=$FILE_START$(date +%s)$FILE_END

        mv $FILE $NEW_NAME
done

Edit: You might want to look into man date for other possible output formats of date.

vino

Last edited by vino; 11-07-2005 at 08:45 AM..
# 3  
Old 11-07-2005
Thanks for that Vino, BUT

I get the following error:

`NEW_NAME=$FILE_START$' unexpected

any ideas ?

thanks again
# 4  
Old 11-07-2005
Code:
#!/bin/ksh

for iter in  firstjd secondjo thirdjv
do
   _time=$(date +%Y%m%d-%H%M%S)
   new=$(echo ${iter} | sed "s/\(.*\)\(..\)/\1${_time}\2/")
   echo "old->[${iter}] new->[${new}]"
done

# 5  
Old 11-07-2005
Quote:
Originally Posted by cooperman
Thanks for that Vino, BUT

I get the following error:

`NEW_NAME=$FILE_START$' unexpected

any ideas ?

thanks again
This ?

Code:
NEW_NAME=${FILE_START}$(date +%s)${FILE_END}


Last edited by vino; 11-07-2005 at 10:32 AM..
# 6  
Old 11-07-2005
Quote:
Originally Posted by vgersh99
Code:
#!/bin/ksh

for iter in  firstjd secondjo thirdjv
do
   _time=$(date +%Y%m%d-%H%M%S)
   new=$(echo ${iter} | sed "s/\(.*\)\(..\)/\1${_time}\2/")
   echo "old->[${iter}] new->[${new}]"
done

Oh well, a sed solution will work as well.

I was trying to avoid an external call.

Cheers' !
# 7  
Old 11-07-2005
here's a "pure" ksh:
Code:
#!/bin/ksh

for iter in  firstjd secondjo thirdjv
do
   _time=$(date +%Y%m%d-%H%M%S)
   root="${iter%%??}"
   suf="${iter##${root}}"
   echo "old->[${iter}] new->[${root}${_time}${suf}]"
done

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Extract date and time part from filename

Hi, I am facing one scenario in which I need to extract exact position of date and time from the name of the files. For example, Below is the record in which I need to extract position of YYYYMMDD,HHMISS and YYMMDD. Date and time variables can come more than once. I need to use these position... (13 Replies)
Discussion started by: Prathmesh
13 Replies

2. UNIX for Beginners Questions & Answers

How to extract date and time from filename?

Hi, I'm totally new in sell script and working with a shell code. I want to extract the date and time from the filenames. The filenames are different but all of them begins with WI_ SCOPE_: WI_SCOPE_DATA_CHANGE_2017-09-12_15-30-40.txt WI_SCOPE_BACK_COMPLETE_QUEUE_2017-09-12_15-31-40.txt... (5 Replies)
Discussion started by: Home
5 Replies

3. Shell Programming and Scripting

Validate date and time in filename by awk

hi i want to validate the date and time in filename filename : mohan.moh.ccyymmdd.ccyymmdd.hhmmss.txt mohan_moh.20151222.20151222.122442.txt i want code that check that date given in filename 20151222 in this format ccyymmdd else it mark file is not valid used in my OS detail is AIX 6... (12 Replies)
Discussion started by: MOHANP12
12 Replies

4. Shell Programming and Scripting

Insert date/time header at top of file

I'm trying to take mrt output and put it at the top of a file along with the date and time. I was able to do it at the bottom of the file with the following printf "********** $(date) **********\n\n" >> $OUTPUT_PATH/$HOSTNAME mtr -r -w -c 10 $HOSTADDRESS >> $OUTPUT_PATH/$HOSTNAME printf... (2 Replies)
Discussion started by: kramer65
2 Replies

5. Shell Programming and Scripting

Insert date/time in reoccurring blocks of lines

Hi folks, I have a little problem, that is kinda bugging me :( ... I have a logfile, that looks kinda "crippled" in the raw format ... So far, I've managed, to get it in a format like this: PRI_PTA01,2W,30,30,0,0,0,0,0,0,0,0,0,0,0,0... (5 Replies)
Discussion started by: whizzler
5 Replies

6. Shell Programming and Scripting

append a filename with system date and time

Hi, There are similar kind of posts, but none seems like working for me. Please correct me if I'm wrong. I need append/rename file abc.txt with file processed date and time like abc_systemdatetimestamp.txt and move it to different folder. for example I have /source/data/abc.txt ... (1 Reply)
Discussion started by: amsn08
1 Replies

7. UNIX for Dummies Questions & Answers

Shell Scripts - Append a filename with date and time....

Hello, I need to create a shell script that appends a filename to create a name with the date and time appended that is guaranteed to not exist. That is, the script insures you will not overwrite a file with the same name. I am lost with this one. I know I need to use date but after that I am... (3 Replies)
Discussion started by: citizencro
3 Replies

8. UNIX for Advanced & Expert Users

find formatted filename with date time

Hi, I operate and use HF radars along the California coast for ocean surface currents. The devices use Mac OS as the control and logging software. The software generates thousands of files a week and while I've used PERL in the past to solve the problems of finding files I come to realize some... (6 Replies)
Discussion started by: dpath2o
6 Replies

9. Shell Programming and Scripting

Insert Time and Date Stamp

I have a directory with following files in it ABC.000.DAT ABC.001.DAT ABC.002.DAT ABC.003.DAT I want to insert time and date stamp in file names like ABC.000.YYYYMMDDHHMM.DAT I able to insert the time and date stamp at the end of filename Kindly help (1 Reply)
Discussion started by: aajmani
1 Replies

10. UNIX for Dummies Questions & Answers

Renaming files to have date/time in filename

I have a program that will export my data to a single file, but it assigns a file name that is overridden every time I run the program. I need to change the file name to have a sequential number in the filename. How do I rename a file so that the filename contains the system date and time. I want... (5 Replies)
Discussion started by: wayneb
5 Replies
Login or Register to Ask a Question