Noob's 1st...bash-script for copying one file into many


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Noob's 1st...bash-script for copying one file into many
# 1  
Old 06-25-2010
Noob's 1st...bash-script for copying one file into many

I have one file "file.a.b.c-d.r" that I would like to use to spawn 4 other files:

Code:
"file.a.b.1-A.r"
"file.a.b.1-B.r"
"file.a.b.1-C.r"
"file.a.b.1-D.r"

where the field "c-d" changes into my 1 and A-D.

I was doing this manually at the prompt with
Code:
> cp "file.a.b.c-d.r" "file.a.b.1-A.r"
> cp "file.a.b.c-d.r" "file.a.b.1-B.r"
...etc..

but I think I should tackle a bash script

I figure I have to declare the file name to be used as a template

Code:
#! /bin/sh

#file to use as template

temp = "~/file.a.b.c-d.r"

then copy it 4 times, while modifying 1 and A-D fields, but I'm not sure where to even start....hence the noob part...

sorry to be so dense.
Any help is appreciated.

Last edited by Scott; 06-25-2010 at 07:04 PM.. Reason: Please use code tags
# 2  
Old 06-25-2010
Code:
#! /bin/ksh

#file to use as template

temp = "~/file.a.b.c-d.r"
while read line
do
    cp "${temp}" ${line}
done < listOfFilesFile

The 'listOfFilesFile' is the file containing the list of files you'd like to 'spawn to'.
# 3  
Old 06-25-2010
Thanks vgersh99!
so, this "listOfFilesFile" should be a directory I should have already created and where the new files will be dumped to?
# 4  
Old 06-25-2010
Quote:
Originally Posted by WSUToad
Thanks vgersh99!
so, this "listOfFilesFile" should be a directory I should have already created and where the new files will be dumped to?
No. The 'listOfFilesFile' is the name of the file containing the filenames you'd like to 'spawn' your 'temp' file to.
Am I missing something in your original request?
# 5  
Old 06-25-2010
Ah...sorry I think I was a bit unclear.
My goal is to take a file with name "file.a.b.c-d.r" and produce 4 exact copies of it with 4 different names:
"file.a.b.1-A.r"
"file.a.b.1-B.r"
"file.a.b.1-C.r"
"file.a.b.1-D.r"

all the while, being able to "feed" the four new variables A, B, C, D I name within the bash script.

Thanks again for helping me out.
# 6  
Old 06-25-2010
something along these lines...
remove the 'echo' when satisfied with the results.
Code:
#!/bin/ksh

temp='~/file.a.b.c-d.r'
vars='A B C D'

for var in ${vars}
do
    a="${temp%-*}"
    a="${a%.*}"
    a="${a}.1-${var}.${temp##*.}"
    echo cp "${temp}" "${a}"
done

# 7  
Old 06-27-2010
Thank you sir.
I see what you're doing.
1. you set the template
2. you set the variables
3. there's a "for-loop"
a. I guess now I have to familiarize myself with variable assignment and regular expreession matching to figure out what is going on within the curly brackets and with the "%" and "-" characters.

After taking off the "echo" command and assigning the the right path, it does spit out the 4 files I wanted...
Thanks again for your help!
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Bash to append array value to file before copying

The bash stores each uniqueid in an array and then passes them to %q to get the unique path. That seems to work what I am having trouble with is renaming each .png with the unique value in %q. I thought it was working but upon closer inspection, a .png file is being sent to scp.... but only 1 and... (21 Replies)
Discussion started by: cmccabe
21 Replies

2. Shell Programming and Scripting

Total Noob BASH scripting question

Hello All, I have a file of ip addresses called activeips.txt What I'm trying to do is run a simple bash script that has a loop in it. The loop is a cat of the IP addresses in the file. The goal is to run 2 nmap commands to give me outputs where each address in the list has an OS... (11 Replies)
Discussion started by: Dirk_Pitt
11 Replies

3. Shell Programming and Scripting

Dialog script for copying a file

Hello, I'm trying to write a script in Dialog for configuring a router. I basically need the user to select from a list of say 4 options, confirm the option and then copy the configuration files, depending on the choice to the HDD and then reboot (I'm hoping to boot from a USB stick). The... (0 Replies)
Discussion started by: pm77
0 Replies

4. Shell Programming and Scripting

Need help in finding and copying list of files using bash shell script

Dear All, I have a situation where I want to copy some files of type .txt. These files are o/p from one program. Some of the files are named as fileName .txt instead of fileName.txt after fileName by mistake I have specified "space". Now I want to move these files as follows. mv fileName*... (13 Replies)
Discussion started by: linuxUser_
13 Replies

5. Shell Programming and Scripting

Copying large files in a bash script stops execution

Hello, I'm new to this forum and like to first of all say hello to everyone. I've got a really annoying problem at the moment. I'm trying to rsync some files (about 200MB with one file of 120MB) from a Raspberry PI with raspbian to a debian server via rsync. This procedure is stored in a... (3 Replies)
Discussion started by: wex_storm
3 Replies

6. Shell Programming and Scripting

Copying a string from a file using shell script

Hello everyone I am completely new to shell scripting in linux. I wan to write a script to search for a certain string from a .txt file and copy the string which apears just after tat searched string. Eg: in a file- try.txt , we have a line saying: "roses are red, so what do i do" I... (4 Replies)
Discussion started by: Kishore920
4 Replies

7. Shell Programming and Scripting

Bash Script Issues (If statement for file copying)

Writing a bash script for use with Geektool, pulls the battery info, and shuffles images around so that an Image geeklet can display the correct expression as the desktop background. (Eventually I intend to make it more intricate, based on more variables, and add more expressions) I'm extremely... (1 Reply)
Discussion started by: The_Ardly374
1 Replies

8. UNIX for Dummies Questions & Answers

script copying the directory (or file) from server to my pc

Hello, I'm trying to create the shell script that: copy (or transfer) the directory from the unix server to my external hard drive (or hard drive) I've been serching this kind of thread here, but no luck so far. anyone can help me? Thank you. (2 Replies)
Discussion started by: myjwjw
2 Replies

9. UNIX for Dummies Questions & Answers

Having problems copying a file from a script

Hello. Complete newbie over here, and I'm hoping you can help me out with this problem. The script copies a file to a directory within my home dir. Permissions are ok and the source file exists. If I execute the cp command from the command line or hardcode the path/file name, it works. ... (6 Replies)
Discussion started by: verdugan
6 Replies

10. Shell Programming and Scripting

noob. need help to create a script.

Hi All. im a noob to scripting. could somone help me with a script please. what i want to do is. 1. run a cmd in the script - qmqtool -s this will give me an output similar to this. Messages in local queue: 790 Messages in remote queue: 306 Messages in todo queue: 23 i then want... (1 Reply)
Discussion started by: aron
1 Replies
Login or Register to Ask a Question