Sponsored Content
Top Forums Shell Programming and Scripting Copy files in respective directories Post 302994318 by RavinderSingh13 on Tuesday 21st of March 2017 12:05:43 PM
Old 03-21-2017
Hello Master_Mind,

Could you please try following and let me know if this helps you.
Code:
cat copy_files.ksh
DIR="/tmp"
INPUT=/edmdidx03/admin/a553454
DATE=$(date +%Y-%m-%d)
DATE_PRE=$(date +%Y-%m-%d -d"1 month ago")
awk -vdate=$DATE -vdate_pre=$DATE_PRE -vdir="$DIR"  -vexcept="fis" -vinput=$INPUT 'function copy(path){
                                        system("set -x;if [[ -f " input"/"$0 " ]] ; then  if [[ ! -d " path " ]] ; then  mkdir " path " echo " path " got created successfully. ; fi ; if [[ " $0 " == " except " ]] ; then  mkdir " path"/"date " ; cp " $0 FS path"/"date " ; else  cp " $0 FS path  " ; fi ; else  if [[ ! -d " dir"/"except"/"date_pre" ]] ; then  echo seems directory named " dir"/"except"/"date_pre "not existing. ; fi ; echo test; if [[ " $0 " == " except " ]] ; then  echo chumma ;cp " dir"/"except"/"date_pre"/*" FS dir"/"except"/"date" ; fi ; fi")
                                      }
                                      {
                                        if($0 == "apple"){
                                                                copy(dir"/ap")
                                                         };
                                        if($0 == "fis") {
                                                                copy(dir"/fis")
                                                         };
                                        if($0 == "mango"){
                                                                copy(dir"/man")
                                                         }
                                      }
                  '     Input_file

EDIT: Adding better readable form of above code too now.
Code:
cat copy_files.ksh
DIR="/tmp"
INPUT=/edmdidx03/admin/a553454
DATE=$(date +%Y-%m-%d)
DATE_PRE=$(date +%Y-%m-%d -d"1 month ago")
awk -vdate=$DATE -vdate_pre=$DATE_PRE -vdir="$DIR"  -vexcept="fis" -vinput=$INPUT 'function copy(path){
                                        system("set -x;if [[ -f " input"/"$0 " ]] ; \
                                        then  if [[ ! -d " path " ]] ; then  mkdir " \
                                        path " echo " path " got created successfully. ; \
                                        fi ; if [[ " $0 " == " except " ]] ; then  mkdir " \
                                        path"/"date " ; cp " $0 FS path"/"date " ; else  cp " \
                                        $0 FS path  " ; fi ; else  if [[ ! -d " dir"/"except"/"date_pre" ]] ; \
                                        then  echo seems directory named " dir"/"except"/"date_pre "not existing. ; \
                                        fi ; echo test; if [[ " $0 " == " except " ]] ; then  echo chumma ;cp " \
                                        dir"/"except"/"date_pre"/*" FS dir"/"except"/"date" ; fi ; fi")
                                      }
                                      {
                                        if($0 == "apple"){
                                                                copy(dir"/ap")
                                                         };
                                        if($0 == "fis") {
                                                                copy(dir"/fis")
                                                         };
                                        if($0 == "mango"){
                                                                copy(dir"/man")
                                                         }
                                      }
                  '    Input_file

PS: Some few points in above code, like variable named except is for the files which you want to check if they are not present then copy them from previous month's folder. Though I tested it but you need to check it completely for all the things.
I added code set -x into it for tracing purposes, you could remove it if you want to remove.

Thanks,
R. Singh

Last edited by RavinderSingh13; 03-21-2017 at 01:17 PM..
This User Gave Thanks to RavinderSingh13 For This Post:
 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

How do copy certain files and directories from one hard drive to another?

I have two drives (scsi) mounted on one server and I need to copy certain files and directories from one drive to the other. Any suggestions :confused: (4 Replies)
Discussion started by: shorty
4 Replies

2. UNIX for Dummies Questions & Answers

copy multiple files in different directories

I have a report file that is generated every day by a scheduled process. Each day the file is written to a directory named .../blah_blah/Y07/MM-DD-YY/reportmmddyy.tab I want to copy all of this reports to a separate directory without having to do it one by one. However, if I try cp... (3 Replies)
Discussion started by: ken2834
3 Replies

3. UNIX for Dummies Questions & Answers

Copy Directories excluding files

Hi guys, I want to copy folder and sub folders only. I don't want the files. If i use cp -r command it will copy entirely with files. Could any one suggest me. Thanks in advance (1 Reply)
Discussion started by: karthik82
1 Replies

4. UNIX for Dummies Questions & Answers

Compare two directories and copy differing files

Hello there, I'm a total noob to shell scripting. :) What I want to do is compare the contents of Folder A and Folder B, and copy any files in Folder A that do not exist in Folder B over to Folder B. I have gotten so far as: diff -rq folderA folderB which returns the names of the files,... (3 Replies)
Discussion started by: raaaaaa
3 Replies

5. UNIX for Dummies Questions & Answers

how can i copy those files into other directories have the same name

how can i copy those files into other directories have the same name but different in the end i have files in directory called test: 10_10_asdadfsdfad.txt 10_10_11_asdawqefwkjasd.txt 10_10_11_12_asdafjjhoqwd.txt i want to put them in exist directory thart i have on my system i have... (1 Reply)
Discussion started by: t17
1 Replies

6. Shell Programming and Scripting

Copy respective path next to last column with awk

Hi to all, I have the short print out sample of the DOS command "dir S/" as showed below. Directory of C:\Program Files\Winamp\Skins\Bento\window 02/12/2010 11:35 p.m. <DIR> . 02/12/2010 11:35 p.m. <DIR> .. 11/12/2009 10:31 a.m. 13,556... (3 Replies)
Discussion started by: cgkmal
3 Replies

7. Shell Programming and Scripting

Find all .htaccess files and make a backup copy in respective directories

Hey guys, I need to know how to locate all .htaccess files on the server and make a backup of them in the folder they reside before I run a script to modify all of them. So basically taking dir1/.htaccess and copying it as dir1/.htaccess_bk dir2/.htaccess copying as dir2/.htaccess_bk... (5 Replies)
Discussion started by: boxx
5 Replies

8. Shell Programming and Scripting

Copy files by automatically creating directories

I am in a situation where I have some hundreds of thousands of files in a directory (name of directory: big_directory). Now, working on this directory is extremely slow. I now plan to do this: Copy 1000 files in each of the directories by creating the directories automatically. All files have... (1 Reply)
Discussion started by: shoaibjameel123
1 Replies

9. Shell Programming and Scripting

create more than 100 directories and copy files into them

Hi, I have several files containing experiment measurements per hour (hour_1.txt has measurements for first hour, etc..etc..). I have 720 of these files (i.e. up to hour_720.txt) and i want to create 720 directories and in every one of them i want to copy its associative file (e.g.... (4 Replies)
Discussion started by: amarn
4 Replies

10. Shell Programming and Scripting

Recursive search for files and copy to new directories

So I have extremely limited experience with shell scripting and I was hoping someone could point out a few commands I need to use in order to pull this off with a shell script like BASH or whatnot (this is on OS X). I need to search out for filenames with account numbers in the name itself... (3 Replies)
Discussion started by: flyawaymike
3 Replies
All times are GMT -4. The time now is 05:16 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy