Find most recent file and copy to another directory.


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Find most recent file and copy to another directory.
# 15  
Old 04-13-2015
Quote:
Originally Posted by askvip
... ... ...

Code:
#!/bin/bash
cd /abcd/efgh/ijkl/mnop/ #(Source directory)
for fname in `ls -ltr *.abc | tail -1 | awk '{print $9}'` #(list "ls -ltr" only most current files that end
                                                          # with "*.abc" and then take the 9th field and
                                                          # assign it to fname.  So fname is assigned
                                                          # "ABCD_ABC_Abc_AB0123.abc")
do
  if [ -f /abcd/efgh/ijkl/mnop/qrst/$fname ] #(checks "-f" destination directory if file fname exists)
  then
     echo "File exits" #(It exits nothing happens)
     exit 0
  else
  cp $fname /abcd/efgh/ijkl/mnop/ #(if it doesn't exist copies fname to destination directory)
  echo "Copied" $fname
  fi
done

I'm confused. You cd into a directory. You check whether or not a file in that directory exists in another directory. And, if the file does not exist in both directories, you copy it to itself (not to the destination directory). Shouldn't the cp command be:
Code:
cp "$fname" /abcd/efgh/ijkl/mnop/qrst/

instead of:
Code:
cp $fname /abcd/efgh/ijkl/mnop/

???

Note, also, the double quotes around $fname. You should have double quotes around every expansion of $fname in your script to protect yourself from someone accidentally (or intentionally) putting space or tab characters in filenames. (This is another reason why you should just use ls instead of grabbing field #9 from ls -l output.)
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Help script find file most recent

Hi, I need to find the most recent files by their name from an X repertoire. The problem is that the name of the files is of type: POWERL10_20151203000.xml POWERL10_20151203001.xml POWERL10_20151202000.xml FIXED VALUE_DATENNN.xml NNN = Sequential number I would need to recover the... (4 Replies)
Discussion started by: verita
4 Replies

2. Shell Programming and Scripting

How to recursively copy directory only for recent files?

I love the -newerct flag for the Cygwin find command on windows. Can I use "/usr/bin/find . -newerct '3 hours ago'" to conditionally copy a directory tree so that only the files in the directory tree that are younger than 3 hours are copied to my destination directory such that the directory... (4 Replies)
Discussion started by: siegfried
4 Replies

3. Shell Programming and Scripting

How to find the recent file in many sub-directories?

Hi guys, Under my root directory there are many sub-directories which contains log file for every day of running. How can I find , in one command only, the recent log file in each sub-directory? For example, If I run the following: find . -name "exp_prod_*_*_yes_*_.log" -exec ls -ltr {} \;... (12 Replies)
Discussion started by: nir_s
12 Replies

4. UNIX for Dummies Questions & Answers

command to find most recent file

Hi, Here is my problem: I try to write a script to find data in a file named "data" for exemple. Let's say I am in the directory /x/y/z, there are several sub-directories in the "z" directory (each sub-directory has a file "data") and I am searching for the word "help". So I use this... (9 Replies)
Discussion started by: StephB
9 Replies

5. UNIX for Dummies Questions & Answers

How to find and copy files from one directory to another

Ok i have three directories Destination - /u/dir1 (has subdirectories dir2 which also has subdirectory dir3) Source1 - /u/test/files/dir1/dir2/dir3 Source2 - /u/out/images/dir1/dir2/dir3 What i would like to do is copy everything from Source1 and Source2 into the Destination directory.... (3 Replies)
Discussion started by: ziggy25
3 Replies

6. Shell Programming and Scripting

find and copy file to another directory..

Hi Everybody, i want a samll help to write a script. i had source location with :/user/bin (bin contains subdirectories with like names emails etc and had several files in each subdirectory) and target location with :/usr/scripts (having same subdirectories names and had some files)... (1 Reply)
Discussion started by: Reddy482
1 Replies

7. Shell Programming and Scripting

find the most recent file containing a certain string

I want to find the most recent file containing ' NORESETLOGS" I'm already here but, how to sort this now in a correct way ? By the way, my version of find does not know about 'fprint' find . -type f -exec grep -i " NORESETLOGS" {} \; -exec ls -l {} \; | grep -vi " RESETLOGS" (5 Replies)
Discussion started by: plelie2
5 Replies

8. Shell Programming and Scripting

crontab; copy most recent *.mpg file from local machine to smb storage device

Hello, I've been searching your forum for an answer to the following question and whilst I've seen several which may help I'm afraid my inexperience with UNIX systems has got the better of me and I'm incapable of piecing your considerable expertise together. Problem: I have a linux box which... (5 Replies)
Discussion started by: julezsht
5 Replies

9. Shell Programming and Scripting

find files and copy into a directory

hi all, can u please help me in finding all ksh file in directory and including all subdirectories and then copy those files into another directory. thanks in advance -bali (4 Replies)
Discussion started by: balireddy_77
4 Replies

10. UNIX for Dummies Questions & Answers

reading directory for most recent file?

Dear All, I'm trying to write a script that searches thru a directory looking for a most recent file and then scp that file. I have the scp working, but I don't know how to browse the directory and select the most recent file. The file name includes a date & time stamp (e.g.... (3 Replies)
Discussion started by: duncan_glover
3 Replies
Login or Register to Ask a Question