Visit Our UNIX and Linux User Community


Shell Scripting: Copy Files with Today's date


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Shell Scripting: Copy Files with Today's date
# 1  
Old 11-26-2012
Shell Scripting: Copy Files with Today's date

I was wondering the best way about finding files that were created today and copy them to a directory (grep ?). There can be multiple files for todays date or none. I am looking to copy all of the .lis files for todays date. I may need to modify the filename to include todays date but for the time being I just want to find the files that were created today and copy them to a directory.

Data:
Code:
-rw-rw-rw-   1 user  user     1697 Nov 24 09:57 file_8885724.lis
-rw-rw-rw-   1 user  user      103 Nov 24 09:57 file_8885724.log
-rw-rw-rw-   1 user  user     1696 Nov 25 09:58 file_8885728.lis
-rw-rw-rw-   1 user  user      537 Nov 25 09:58 file_8885728.log
-rw-rw-rw-   1 user  user     1700 Nov 25 09:58 file_8885730.lis
-rw-rw-rw-   1 user  user     2663 Nov 25 09:58 file_8885730.log
-rw-rw-rw-   1 user  user     1700 Nov 25 09:59 file_8885731.lis
-rw-rw-rw-   1 user  user      967 Nov 25 09:59 file_8885731.log
-rw-rw-rw-   1 user  user     1700 Nov 25 09:59 file_8885732.lis
-rw-rw-rw-   1 user  user     1817 Nov 25 10:00 file_8885732.log
-rw-rw-rw-   1 user  user     1700 Nov 26 10:00 file_8885739.lis
-rw-rw-rw-   1 user  user      529 Nov 26 10:00 file_8885739.log
-rw-rw-rw-   1 user  user     1693 Nov 26 10:00 file_8885743.lis
-rw-rw-rw-   1 user  user      103 Nov 26 10:00 file_8885743.log
-rw-rw-rw-   1 user  user     1697 Nov 26 10:01 file_8885744.lis
-rw-rw-rw-   1 user  user      103 Nov 26 10:01 file_8885744.log
-rw-rw-rw-   1 user  user     1697 Nov 26 10:01 file_8885751.lis
-rw-rw-rw-   1 user  user      103 Nov 26 10:01 file_8885751.log

Script:
Code:
#!/bin/bash
#copy files
cd $1
#I need a loop that will copy the files with todays date
scp $2 $3
#end of loop

Any help would be appreciated. Also, if you provide working code then that would be even better.

Last edited by Scott; 11-27-2012 at 12:34 PM.. Reason: Code tags
# 2  
Old 11-26-2012
Code:
find /path/to/folder -name '*.lis' -mtime 0 | while read FILE
do
        echo "Found file $FILE"
done

# 3  
Old 11-26-2012
example:
Code:
#!/bin/bash
 
dt=$(date +"%b %d")
dtm=$(date +".%b_%d")
 
from_dir=some_dir
to_dir=other_dir
 
cd $from_dir || exit
 
for fl in *.lis
do
  ls -l $fl 2>/dev/null | grep " $dt " && {
    mv "$fl" $to_dir/"$fl$dtm" || exit
  }
done


Last edited by rdrtx1; 11-26-2012 at 05:20 PM..
# 4  
Old 11-27-2012
Error

I get the error mentioned below when I try this:

Code:
find /path/to/file -name 'file_*.lis' -daystart -mtime 0
 
 
find: bad option -daystart
find: [-H | -L] path-list predicate-list

Any ideas?
Thanks!

Last edited by Scott; 11-27-2012 at 12:33 PM.. Reason: Please use code tags
# 5  
Old 11-28-2012
Your version of find doesn't have the GNU -daystart extension.

Well, there's always the touch trick. Create a file of an exact timestamp, then find all files newer than it.

Code:
 # Today's month, day, and year, with all-zeroes for midnight in 24-hour time
touch -t $(date +"%Y%m%d0000") /tmp/$$
find /path/to/folder -name 'file_*.lis' -newer /tmp/$$ |
while read FILE
do
        echo "$FILE was modified today"
done

rm -f /tmp/$$


Previous Thread | Next Thread
Test Your Knowledge in Computers #900
Difficulty: Medium
KornShell (ksh) is a Unix shell which was developed by David Korn at UC Berkeley.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Compare Date to today's date in shell script

Hi Community! Following on from this code in another thread: #!/bin/bash file_string=`/bin/cat date.txt | /usr/bin/awk '{print $5,$4,$7,$6,$8}'` file_date=`/bin/date -d "$file_string"` file_epoch=`/bin/date -d "$file_string" +%s` now_epoch=`/bin/date +%s` if then #let... (2 Replies)
Discussion started by: Greenage
2 Replies

2. UNIX for Beginners Questions & Answers

Find and copy .zip file based on today's date

Hi Team, I'm new to unix and i have a requirement to copy or move files from one directory to another based on current date mentioned in the .zip file name. Note that i need to copy only the recent zip file. please help me with the code i tried the code as: #! /usr/bin/sh find... (3 Replies)
Discussion started by: midhun3108
3 Replies

3. Shell Programming and Scripting

Problem scripting a copy and renaming shell executable

I also posted this on macrumors forum, then i realized that this is a more suitable forum for matters like this. I apologize for the username, I was looking at a bag of doritos when it asked me for a username. lol I need a program (see below for what I've tried) and I think a shell program will... (23 Replies)
Discussion started by: ilovedoritos
23 Replies

4. Shell Programming and Scripting

Search files with today date and files come anytime in between 10 pm to 1 am

Hi, i want to make script. In a directory everyday( exclude sat and sun) in between 10 pm to 1 am there are 2 files comes and when file comes it will mail us. Format for files is mentioned below. please help me on making this, and also have year end consider and if files come after 12 am it... (6 Replies)
Discussion started by: pallvi_mahajan
6 Replies

5. Shell Programming and Scripting

ksh shell scripting to copy a file

Hi. I am a new Unix admin and I've been tasked to write a ksh script that copies my .profile into my /home directory on all servers. I'm new to this and having a difficult time scripting it. Any ideas? (6 Replies)
Discussion started by: david_tech
6 Replies

6. Shell Programming and Scripting

Move all files except sys date (today) files in Solaris 10

I want to move all files from one directory to another directory excluding today (sysdate files) on daily basis. file name is in pattern file_2013031801, file_2013031802 etc (2 Replies)
Discussion started by: khattak
2 Replies

7. UNIX for Dummies Questions & Answers

Shell Scripts - shows today’s date and time in a better format than ‘date’ (Uses positional paramete

Hello, I am trying to show today's date and time in a better format than ‘date' (Using positional parameters). I found a command mktime and am wondering if this is the best command to use or will this also show me the time elapse since 1/30/70? Any help would be greatly appreciated, Thanks... (3 Replies)
Discussion started by: citizencro
3 Replies

8. Shell Programming and Scripting

Past date display ( today - N) in shell

Hi, Any idea to get display of date - n ( n=1,2,3,4 etc) ? For example , dtoudt will easily execute by dtoudt -3 and result is >dtoudt -3 1234852529 Date 2009-2-17 time 14:35:29 day 47 How to get it display in 20090217 instead ? Maybe you have other suggestion to display date... (0 Replies)
Discussion started by: rauphelhunter
0 Replies

9. Shell Programming and Scripting

Script to copy log files with today's date

I am a newbie to scripting. I need a korn shell script to copy log files of current day to archive folder and rename with current days date stamp. I would really appreciate your help. File structure is as follows. Everyday files get overwritten, so I need copy to a archive directory and... (3 Replies)
Discussion started by: mdncan
3 Replies

10. UNIX for Dummies Questions & Answers

Sort files by date, not showing files from today

Hi all, i'm new here in this forum. I really like the helpful answers in this forum. Here a short question. For a script i have to sort files by date and exclude the files of the actual date. Sorting the files by date and preparing the output for awk is done by this line: ls -l... (3 Replies)
Discussion started by: carlosdivega
3 Replies

Featured Tech Videos