newbie question regarding checking date of file

Please support our Shell Scripting advertiser: Programming Forums - DaniWeb Sister Site
Reply

Join Date: Oct 2007
Posts: 1
Reputation: jch is an unknown quantity at this point 
Solved Threads: 0
jch jch is offline Offline
Newbie Poster

newbie question regarding checking date of file

 
0
  #1
Oct 29th, 2007
Please pardon the simplicity of this question, I kind of got thrown into these responsibilities at the last minute without training.


I
I need to move a file called status10.dat to a different directory using korn scripting.

[code = korn]
cp status10.dat* /cerner/d_p19/ccluserdir
[/code]

I only want to do this if the file is equal to today's date. Is it possible to check before moving the file?

Thanks in advance
Reply With Quote Quick reply to this message  
Join Date: Oct 2007
Posts: 399
Reputation: eggi will become famous soon enough eggi will become famous soon enough 
Solved Threads: 47
eggi eggi is offline Offline
Posting Whiz

Re: newbie question regarding checking date of file

 
0
  #2
Oct 29th, 2007
Hi There,

That shouldn't be a problem at all.

Depending on what you want to do you can use find to get all files created within the last 24 hours (assuming /home as your current directory):

for x in `find /home -mtime 0`
do
mv $x /cernet/d_p19/ccluserdir/.
done

you can also use the -exec option of find to do the mv for you so you'd just have a one-line find script.

Hope this helps

, Mike
Linux and Unix Tips, Tricks and Individual Advice - The Linux and Unix Menagerie!
------------------------------------------------------------------------
The greatest viral marketing idea of all time, get your copy of this Free Report now!
Reply With Quote Quick reply to this message  
Join Date: Oct 2007
Posts: 399
Reputation: eggi will become famous soon enough eggi will become famous soon enough 
Solved Threads: 47
eggi eggi is offline Offline
Posting Whiz

Re: newbie question regarding checking date of file

 
0
  #3
Oct 29th, 2007
Hey, I just noticed that I misread your question - you need stuff from "today" and not the last 24 hours -- sorry - maybe that other info will be useful for another project.

If you want to only delete files from today, I think the simplest way to do it - to avoid the possible issues with spacing and/or tabbing would be to write a script that took a date argument in the following format:
./yourscript "Oct 3"
or
./yourscript "Oct 24"
Note that in the "Oct 3" there are two spaces separating the month and date and that "Oct 24" only has one space separating - this is to accommodate the behavious of "ls -l" -- at least, on solaris.

yourscript would be (assuming we're running it from the directory your files are in)

#!/bin/ksh

today=$1

for x in `ls -ld *`
do
filename=`echo $x|awk '{print $1}'`
result=`echo $x |grep $today >/dev/null 2>&1`
if [ $? -eq 0 ]
then
mv $filename /cernet/d_p19/ccluserdir/.
fi
done

I tend to write the short-stuff like I think. There's probably an easier way to do it

Thanks,
, Mike
Last edited by eggi; Oct 29th, 2007 at 5:14 pm. Reason: misspelling again - no more edits coming - thx :)
Linux and Unix Tips, Tricks and Individual Advice - The Linux and Unix Menagerie!
------------------------------------------------------------------------
The greatest viral marketing idea of all time, get your copy of this Free Report now!
Reply With Quote Quick reply to this message  
Join Date: Apr 2006
Posts: 148
Reputation: ghostdog74 is on a distinguished road 
Solved Threads: 40
ghostdog74 ghostdog74 is offline Offline
Junior Poster

Re: newbie question regarding checking date of file

 
0
  #4
Oct 30th, 2007
Shell Scripting Syntax (Toggle Plain Text)
  1. find /path -type f -name "status10.dat*" -mtime 0 -print0 | xargs -i -0 cp "{}" /cerner/d_p19/ccluserdir
Reply With Quote Quick reply to this message  
Reply

This thread is more than three months old.
Perhaps start a new thread instead?
Message:


Thread Tools Search this Thread



About Us | Contact Us | Advertise | DaniWeb | Acceptable Use Policy | RSS Feed

©2003 - 2009 DaniWeb® LLC