Batch code


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Batch code
# 1  
Old 12-03-2012
Batch code

Hi Friends,

I have a script like this

Code:
cat script

#!/bin/bash
#Name: name
#Task: name
#$ -e /path/to/error/logfile/err.log
#$ -o /path/to/output/logfile/out.log

I have a list of commands like this

Code:
cat commands

cat 1.txt > 2.txt
cat 23.bed > 789.alm
zcat 1.gz > 1.txt

My request is that

Now for each line in my command file, I would like to make a script file. So, that I get 3 script files with increasing err and out log file numbers like this.

Code:
cat script1

#!/bin/bash
#Name: name
#Task: name
#$ -e /path/to/error/logfile/err1.log
#$ -o /path/to/output/logfile/out1.log
cat 1.txt > 2.txt

Code:
cat script2

#!/bin/bash
#Name: name
#Task: name
#$ -e /path/to/error/logfile/err2.log
#$ -o /path/to/output/logfile/out2.log
cat 23.bed > 789.alm

Code:
cat script3

#!/bin/bash
#Name: name
#Task: name
#$ -e /path/to/error/logfile/err3.log
#$ -o /path/to/output/logfile/out3.log
zcat 1.gz > 1.txt

It is basically joining two text files with increasing err and out log file names.

The path to the err and out files is always the same.

Thanks in advance.
# 2  
Old 12-03-2012
Try something like:
Code:
#!/bin/ksh
n=1
while read -r cmd
do      (cat script;printf "%s\n" "$cmd") > script$n
        n=$((n + 1))
done < commands

I used ksh, but this will work with any POSIX conforming shell.
# 3  
Old 12-03-2012
Quote:
Originally Posted by Don Cragun
Try something like:
Code:
#!/bin/ksh
n=1
while read -r cmd
do      (cat script;printf "%s\n" "$cmd") > script$n
        n=$((n + 1))
done < commands

I used ksh, but this will work with any POSIX conforming shell.
Hi Don,

Thanks for your time.

It works. But it prints all commands into one single script instead of splitting it into multiple scripts. Any pointers are highly appreciated.
# 4  
Old 12-03-2012
Quote:
Originally Posted by jacobs.smith
Hi Don,

Thanks for your time.

It works. But it prints all commands into one single script instead of splitting it into multiple scripts. Any pointers are highly appreciated.
No, it does not. It will create as many output files as there are lines in the file commands. With the example you gave it creates three files: script1, script2, and script3.

Instead of saving my script in a file, making it executable, and then executing the file; did you save my script in a file and run it using a different shell? If so, what shell did you use?
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Batch or not if/then

I am having trouble modifying a .sh that allows the user to run different command based of an input. So based on the user input of Y or N a different command is run. Thank you :). #!/bin/bash while true do printf "Is this a batch : " ; read id && break If "$id" = Y, Then... (14 Replies)
Discussion started by: cmccabe
14 Replies

2. UNIX for Dummies Questions & Answers

SSH batch help

Dear Gurus, I had hundreds of equipments which i can only use SSH to login and retrieve informations. Thus, how should i do that? eg:ssh batch @ echo off ssh <server1>@10.168.1.1 ECHO testing1 exit ssh <server2>@10.168.1.2 ECHO testing2 exit Can the above method used? :) (6 Replies)
Discussion started by: ymeyaw
6 Replies

3. Shell Programming and Scripting

Batch download

............. (9 Replies)
Discussion started by: hoo
9 Replies

4. Shell Programming and Scripting

Executing a batch of files within a shell script with option to refire the individual files in batch

Hello everyone. I am new to shell scripting and i am required to create a shell script, the purpose of which i will explain below. I am on a solaris server btw. Before delving into the requirements, i will give youse an overview of what is currently in place and its purpose. ... (2 Replies)
Discussion started by: goddevil
2 Replies

5. UNIX for Advanced & Expert Users

batch file

Hi all I am using tru64 Unix and I want a ready batch file which makes me to change all user passwords at the same time ,instead of changing everyone separately. Please could anyone help me to do that. bye. (1 Reply)
Discussion started by: ahmedbashir
1 Replies

6. Shell Programming and Scripting

batch renaming ...

hi all, given a path, for example : /<pwd>/artist/album/ what i would like to do is to rename the album directory like that : /<pwd>/artist/artist | album/ and i would like to do the latter for all the "artist" directories and for all the "album" directories that belong to an artist ... (4 Replies)
Discussion started by: OneDreamCloser
4 Replies

7. UNIX for Dummies Questions & Answers

Batch id in UNIX

Hi can any one help me? How to find the "batchid" in UNIX? Regards, Ganapati. :confused: (1 Reply)
Discussion started by: ganapati
1 Replies

8. IP Networking

batch file

my requirment is i have to call a batch file from a c++ program that batch file is called with the argument as print.txt print.txt is a text file which should get printed on printer (any printer) when a batch file call is made 1) how to call a batch file in c++ 2) how to print the text... (1 Reply)
Discussion started by: ramneek
1 Replies

9. Shell Programming and Scripting

rename in batch

example test1 will have m1234567.12a I would like to rename in batch but I don't Please help me on this. cd /a1/a2/a3 test1=$(basename /a1/a2/a3/*.*) >> /tmp/t echo $test1 echo "Extracting 8 th position" >> /tmp/t2 awk '{print substr($1,8,1); }' $test1 >> /tmp/t3 echo "extraction ... (3 Replies)
Discussion started by: kathy18
3 Replies

10. UNIX for Dummies Questions & Answers

batch render

I'm interested in getting unix in my pc, can someone tell me where and how can I get it. I'm a complete virgin about unix, I work in 3d animation and i need unix to make batch rendering work in Maya. Another question is: how do I know what hardware is compatible with unix and do I need any drivers... (1 Reply)
Discussion started by: Vitor
1 Replies
Login or Register to Ask a Question