Copying data from files to directories


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Copying data from files to directories
# 1  
Old 05-16-2013
Copying data from files to directories

I have the following that I'd like to do:

1. I have split a file into separate files that I placed into the /tmp directory. These files are named F1 F2 F3 F4.
2. In addition, I have several directories which are alphabetized as dira dirb dirc dird.
3. I'd like to be able to copy F1 F2 F3 F4 to dira drib dirc dirb and so forth. Would this be done by use of an array? The dirnames will change each time but they will always be in alphabetical order. The file names will also be in order as F1 F2 F3 F4.
So the point is I'd like to match the file names to the directories so that F1 will copy into the first directory (one that is earliest in the alphabet).
I really haven't worked much with arrays and am wondering if anyone here has an idea?
I have created an array but if /how the cp command could be used to copy data into these directories, I am not sure.

Code:
dirs=(dira dirb dirc)
for dir in "${dirs[@]}"; do
    cp (not sure what /if this can be done)
done

I am sure this is not appropriate, but need some direction. Any suggestions as to how to approach this would be appreciated.
# 2  
Old 05-16-2013
Would this help?

Code:
#! /bin/bash

dirs=( dira dirb dirc dird )
fils=( F1   F2   F3   F4   )

i=0
while [ $i -lt ${#dirs[@]} ]
do
    cp /tmp/${fils[$i]} /path/to/${dirs[$i]}/
    (( i++ ))
done

This User Gave Thanks to balajesuri For This Post:
# 3  
Old 05-17-2013
For standard shells:
Code:
#!/bin/sh

echo "\
F1 dira
F2 dirb
F3 dirc
F4 dird" |
while read file dir
do
  cp "/tmp/$file" "/path/to/$dir/"
done

Or, robust against programs that read from stdin:
Code:
#!/bin/sh

while read file dir <&3
do
  cp "/tmp/$file" "/path/to/$dir/"
done 3<< _EOT
F1 dira
F2 dirb
F3 dirc
F4 dird
_EOT


Last edited by MadeInGermany; 05-17-2013 at 01:14 PM..
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Copying files to directories based on first 6 character

guys, i did create a script but its too long, though it function the same. # cat nightlyscan.sh #!/usr/ksh deyt=`date +"%Y-%m-%d"` for i in `ls -lrt|grep $deyt|awk '{print $9}'` do cp -f $i /S1/Sophos/logger/ done # but i did not paste it all. this is the desired. (9 Replies)
Discussion started by: kenshinhimura
9 Replies

2. UNIX for Dummies Questions & Answers

Copying Directories from one server to another

Hi, I have a requirement where I have to connect to another server and copy directories from one server to another Directories on the Source server look like below (YYYY-MM-DD- 1 to 23) drwxr-xr-x 2 test_user dmfmart 422 Sep 1 23:45 2014-09-01-18 drwxr-xr-x 2 test_user dmfmart ... (3 Replies)
Discussion started by: arunkesi
3 Replies

3. Shell Programming and Scripting

Error check for copying growing directories

I have a simple script which copies directory from one place to another and deleting the source . I am facing a situation when new files gets added when the script has started running. Its resulting in data loss Please suggest a way to avoid data loss. I googled a lot but most are perl... (11 Replies)
Discussion started by: ningy
11 Replies

4. Shell Programming and Scripting

Copying all directories while ignoring certain filetypes

I want to write a script that copys over a complete folder including the dirs to another location. However in the process I want to ignore several filetypse that SHOULD NOT get copied over. I know Global Ignore is capable of make the copy command ignore one file type, however I don't know how... (8 Replies)
Discussion started by: pasc
8 Replies

5. Shell Programming and Scripting

Copying multiplies files into multiplies directories

Hello ! I have a file structure like this: 1_0/file1.tiff 1_1/file2.tiff 1_2/file3.tiff 1_3/file4.tiff 1_4/file5.tiff 1_5/file6.tiff 1_6/file7.tiff 2_0/file8.tiff 2_1/file9.tiff 2_2/file10.tiff 2_3/file11.tiff etc. There is only one file in one directory. I'd like to have files... (8 Replies)
Discussion started by: Kossy
8 Replies

6. Shell Programming and Scripting

Copying a files from a filter list and creating their associated parent directories

Hello all, I'm trying to copy all files within a specified directory to another location based on a find filter of mtime -1 (Solaris OS). The issue that I'm having is that in the destination directory, I want to retain the source directory structure while copying over only the files that have... (4 Replies)
Discussion started by: hunter55
4 Replies

7. Shell Programming and Scripting

Backup script: Copying and removing directories based on list

I am writing a simple backup script, but I cannot figure out how to remove directories that are found in a list. For example: DONT_COPY=" .adobe/ .bin/google-earth " tar -zcvf - * --exclude=$DONT_COPY | openssl des3 -salt -k $1 | dd of=$(hostname)-$(date +%Y%m%d).tbz > COPIED Note that... (4 Replies)
Discussion started by: dotancohen
4 Replies

8. UNIX for Dummies Questions & Answers

Using find -d and copying to the found directories

Hi again All :) After posting my first thread just a few eeks ago and having such a great response (Thank You once again :) ), I thought I'd perhaps ask the experts again. In short I'm trying to achieve a "find" and "copy" where the find needs to find directories: find -d -name outbox and... (6 Replies)
Discussion started by: Dean Rotherham
6 Replies

9. UNIX for Dummies Questions & Answers

copying to multiple directories using wildcard

Can we copy a file to multiple directories using a single command line , i tried with * didnt work for me cp /tmp/a.kool /tmp/folder/*/keys/ I am tryn to copy a.kool file to all keys folder in /tmp folder. is something i am missing ? (4 Replies)
Discussion started by: logic0
4 Replies

10. UNIX for Dummies Questions & Answers

Copying multiple directories at the same time using Unix

Another Unix question. How would I copy multiple directories at the same time? Right now I do: cp -r -f /directory1/ ../backup/directory1/ I do that for each directory one at a time. But there are multiple directories I'd like to copy. So instead of sitting there and doing one at a time, is... (9 Replies)
Discussion started by: JPigford
9 Replies
Login or Register to Ask a Question