The UNIX and Linux Forums  
Hello and Welcome from United States to the UNIX and Linux Forums! Thank You for Visiting and Joining Our Global Community.

Go Back   The UNIX and Linux Forums > Top Forums > UNIX for Advanced & Expert Users
.
google unix.com



UNIX for Advanced & Expert Users Expert-to-Expert. Learn advanced UNIX, UNIX commands, Linux, Operating Systems, System Administration, Programming, Shell, Shell Scripts, Solaris, Linux, HP-UX, AIX, OS X, BSD.

More UNIX and Linux Forum Topics You Might Find Helpful
Thread Thread Starter Forum Replies Last Post
Find and store files based on FileName and Modified Time edisonantus UNIX for Advanced & Expert Users 2 02-19-2008 02:25 PM
find files with specific date and time itik AIX 3 01-18-2008 01:21 PM
Convert DATE string to a formatted text osramos Shell Programming and Scripting 6 10-10-2007 05:31 AM
Insert date/time within a filename cooperman UNIX for Dummies Questions & Answers 7 11-07-2005 12:29 PM
Renaming files to have date/time in filename wayneb UNIX for Dummies Questions & Answers 5 01-19-2005 10:49 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Powered by Powered by Google
 
LinkBack Thread Tools Search this Thread Rate Thread Display Modes
  #1 (permalink)  
Old 01-21-2008
dpath2o dpath2o is offline
Registered User
  
 

Join Date: Jan 2008
Location: on the outskirts of Babylon North, CA
Posts: 6
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 inherent inefficiencies with this type of search method. Ultimately I'd like to find files using the unix find command, however, my knowledge of regular expressions is in its infancy and I'm learning. So in my pursuit of this knowledge I'm turning to this forum to hopefully give me some hints.

The files fortunately are all fairly standardize -- i.e. the filename format is:

TYPE_SITE_[YY|YYYY]_MO_MD_[HHMM|HHMMSS].[xx|xxx]

where,
TYPE is a three or four character string depicting the type of data (CSS, CSQ, RDLi, STAT, etc.)
SITE is a four character string depicting the name of the radar site (GCYN, NPGS, BML1, etc.)
YYYY is a two or four digit year
MO is a two digit month
MD is a two digit month day
HH is a two digit hour
MM is a two digit minute
SS is a two digit second
xxx is a two or three character string for a file extension

The main difficulty I have is in crossing years -- i.e. if I wanted to say find CSS files for site BML1 between Dec 29th 2007 and Jan. 2nd 2008. Any advice / pointers on how to attack this using the find or grep or egrep commands would be greatly appreciated.

Thanks,
dpath2o
  #2 (permalink)  
Old 01-21-2008
Smiling Dragon's Avatar
Smiling Dragon Smiling Dragon is offline Forum Advisor  
Disorganised User
  
 

Join Date: Nov 2007
Location: New Zealand
Posts: 922
Are the files' modification date/time the same as the filename? If so, use find with the -mtime +<days> -mtime -<days> flags to set the min and max age to look between.
  #3 (permalink)  
Old 01-21-2008
dpath2o dpath2o is offline
Registered User
  
 

Join Date: Jan 2008
Location: on the outskirts of Babylon North, CA
Posts: 6
No unfortunately not ... File creation, access, and modification times can and often differ from the files stat ... In fact ultimately I should search for the "%TimeStamp: ..." string inside the text files to be most accurate, but once I figure this regex I think I'll be able to apply it to awk or maybe sed to read this line inside the file ... Long answer to your short question!
  #4 (permalink)  
Old 01-21-2008
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Posts: 2,509
assuming all files end in *.xtx . Using GNUawk
Code:
ls *.xtx | awk 'BEGIN { FS="[:_]"
 printf "Enter from date [yyyy mm dd]: "
 getline startymd < "/dev/tty"
 printf "Enter to date [yyyy mm dd]: "
 getline endymd < "/dev/tty"
 s=startymd " 00 00 00"
 stdate = mktime(s)
 e=endymd " 00 00 00"
 edate = mktime(e)
}
{
 find = $3" "$4" "$5" 00 00 00" 
 founddate=mktime(find)
 if ( (founddate > stdate) &&  (founddate < edate) ) {
   print "Found file: " $0
 } 
}'
output:
Code:
# ls -1 *xtx
CSQ_NPGS_2008_01_22_120012.xtx
CSS_GCYN_2008_01_18_130022.xtx
STAT_BML1_2007_11_22_110012.xtx
STAT_BML1_2007_12_22_110012.xtx
# ./test.sh
Enter from date [yyyy mm dd]: 2007 12 11
Enter to date [yyyy mm dd]: 2008 01 18
Found file: STAT_BML1_2007_12_22_110012.xtx
pls do more testing on your own
  #5 (permalink)  
Old 01-22-2008
dpath2o dpath2o is offline
Registered User
  
 

Join Date: Jan 2008
Location: on the outskirts of Babylon North, CA
Posts: 6
This looks GREAT!

I'm working on it, but at present I get error message:
"awk: calling undefined function mktime source line number 7"
  #6 (permalink)  
Old 01-22-2008
ghostdog74 ghostdog74 is offline Forum Advisor  
Registered User
  
 

Join Date: Sep 2006
Posts: 2,509
Quote:
Originally Posted by dpath2o View Post
This looks GREAT!

I'm working on it, but at present I get error message:
"awk: calling undefined function mktime source line number 7"
that's a gnu awk feature.
Closed Thread

Bookmarks

Tags
grep or, mtime, perl, perl regex, regex, regular expressions, unix commands

Thread Tools Search this Thread
Search this Thread:

Advanced Search
Display Modes Rate This Thread
Rate This Thread:

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are On




All times are GMT -4. The time now is 02:55 PM.


Powered by: vBulletin, Copyright ©2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright ©2007 - 2008, PixelFX Studios
The UNIX and Linux Forums Content Copyright ©1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant URLs by vBSEO 3.2.0