Ls to find to copy


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Ls to find to copy
# 1  
Old 10-28-2013
Ls to find to copy

I am looking to do the following:

In a folder with multiple files in it, take the listing (ls) and search another directory for there file names, then take that output and copy the files out.

This is to update a webpage. So a dev writes a new file and puts it in an update folder then i copy it out to the ear direcotry in the proper place

Any ideas would be great!
# 2  
Old 10-28-2013
So basically you want to compare two directories, just for existence of files, not date nor size nor anything else, and then take WHAT output (delta? common files?) to copy which files from where to where?
# 3  
Old 10-28-2013
Yes
If i have /update/test1.txt and /update/test2.txt in a folder i want to search /app/. for those two files then take the path to the files in the app and copy out the files from the update folder to the app folder in the proper sub folder
# 4  
Old 10-28-2013
Not clear. Copy both files, even when they exist? Copy to what subdir? Do you need to check /app/ including its subdirs? Does /update/ have the same subdir structure, and will the new files show up in the right subdir?
# 5  
Old 10-28-2013
Sorry
I have a folder called update with multiple files in it. There are exsisting files with the same name in the app folder. i want to search for each file from the update directory in the app directory then over write the corresponding files in the app directory

so something like this

Code:
ls /update
   file1.txt
   file2.txt
   file3.txt

find each file name in /app

copy file from /update to the matching file name in /app (all in different sub directories)

Hope that helps
# 6  
Old 10-28-2013
This is untested, but you may want to try and adapt. It is dependent on files being unique (which should go without saying). Try:
Code:
cd /update
ls -1 >newfiles
find /app >allfiles
grep -f newfiles allfiles | while read FN; do echo cp "${FN##*/}" "$FN"; done

Remove echo once you're happy with the results.
# 7  
Old 10-28-2013
Quote:
Originally Posted by RudiC
This is untested, but you may want to try and adapt. It is dependent on files being unique (which should go without saying). Try:
Code:
cd /update
ls -1 >newfiles
find /app >allfiles
grep -f newfiles allfiles | while read FN; do echo cp "${FN##*/}" "$FN"; done

Remove echo once you're happy with the results.
Filenames being unique is not enough; no file's name can be a trailing subset of another filename either. For example, if you have files angle.txt and triangle.txt somewhere under /app and there is a file named /update/angle.txt, the while loop will overwrite both files under /app with the contents of /update/angle.txt.
This User Gave Thanks to Don Cragun For This Post:
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Find and Copy Directories ONLY

I am trying to copy only the date specific folders/directories using the following command. However, the following copy command is also copying files from the root folder (OriginalFolder). find /OriginalFolder/ -type -d \{ -mtime 1 -o -mtime 2 \ } -exec cp -R {} /CopyTo/'hostname'__CopyTo/ \;... (2 Replies)
Discussion started by: apacheLinux
2 Replies

2. UNIX for Dummies Questions & Answers

Help with find and copy

Hi , As i am a dummy in shell scripting ,i was trying to find the files which are created today and hold them in variable and the copy them to a location using a partcular command this is what did. can any one help.There may be many files under the path SOURCE=/path/to/files/ A= find... (1 Reply)
Discussion started by: vikatakavi
1 Replies

3. Shell Programming and Scripting

Find and copy these files to particular directory

RedHat Enterprise Linux 5.4 I have some files with the extension .cdp in several directories in various mountpoints(filesystems) . I would like to find and copy all these files into a single directory /u03/diagnore/data. How can I do this ? (3 Replies)
Discussion started by: kraljic
3 Replies

4. Shell Programming and Scripting

Find and copy

> Advice please as much as possible to fill in large file in various folder to the server > Folder structure /www/1.org/htdocs /www/2.org/htdocs /www/3.org/htdocs > Can tell me there is a way to fill in large file into htdocs, and then climb > In each Diru and load for a long time. Thank you (1 Reply)
Discussion started by: lol100
1 Replies

5. Shell Programming and Scripting

Help with find and copy command

I entered the following command find . -type f \( -newer startdate -a ! -newer enddate \) -exec cp tmp {} \; I got the following error: cp: 0653-436 tmp is a directory. Specify -r or -R to copy. What's happening here? (2 Replies)
Discussion started by: bbbngowc
2 Replies

6. Shell Programming and Scripting

How to find files and then copy them to another

I must write any shell script. I want find files which have .txt extension and then copy them to other, whithout this extension, for example: I found linux.out.txt file, and now it must be copy to new, linux.out. So: linux.out.txt -> linux.out ubuntu.config.txt -> ubuntu.config ... (4 Replies)
Discussion started by: piespluto
4 Replies

7. 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

8. Shell Programming and Scripting

Help with Find All/Copy Script

Hi Gang, I am an old unix user and just recently returned in the flavor of a Mac. I have tons of pictures in the .orf format and would like to write a script to: Search the Hard drives for that file type Then, depending on date, copy it to a specific folder If there is an exact... (2 Replies)
Discussion started by: jlfx
2 Replies

9. UNIX for Dummies Questions & Answers

need to help to find and copy to a file

I am trying to search for files and copy them into a text file. Can anybody help me how to do that. find /test/sds/data -name "*.*" -mtime -365 -exec ls -altr {} \ this is my find command and want to copy the result to a file. (2 Replies)
Discussion started by: pujars1
2 Replies

10. UNIX for Dummies Questions & Answers

HOw to find and copy

Hi, I need to find files in a directory, between dates like 4/15/06 and 5/02/06, and copy them to a different directory. Is there a way to doa find and a copy together? Thanks, Neil (1 Reply)
Discussion started by: aaajohnson
1 Replies
Login or Register to Ask a Question