Using Shell Script To Loop Program Through Multiple Text Files


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Using Shell Script To Loop Program Through Multiple Text Files
# 15  
Old 11-03-2011
I would... because if the script is in your PATH, it cane be executed anywhere...
So for safety:
Code:
#!/bin/bash
# Running through Fortran Program used to find anomaly of Rain and Temperature

#FILES="/Users/jduncan/Desktop/rawdata/"

cd <to where the *.txt are>


for File in *.txt
do
     ./runthrough.o "$File" 

done

This ./runthrough.o is where?
# 16  
Old 11-03-2011
Second thought: Since I dont know what ./runthrough.o does:
Try to see if loop is working:
Code:
#!/bin/bash
# Running through Fortran Program used to find anomaly of Rain and Temperature

#FILES="/Users/jduncan/Desktop/rawdata/"

for File in *.txt
do
     # ./runthrough.o "$File"  comment out for the test: If test works,the culprit is here somewhere...
   ls -l $FILE

done

# 17  
Old 11-03-2011
Code:
OPEN(10,file='"$File"',status='old')

FORTRAN is not shell. "$File" doesn't work here.

You can get variables you've exported with GETENV, or things you've fed it on the commandline with GETARG, but we don't seem to be FORTRAN experts, ergo it would really be much simpler to just follow the suggestion I gave you days ago: Don't bother opening any files inside FORTRAN at all. Read from standard input, write to standard output. This is often how UNIX utilities are supposed to work anyway -- makes things easier to put in a pipe chain.

'standard input' and 'standard output' amount to pre-opened file numbers, stdin being either 5 in F77 or 100 in F95, and stdout being 6 in F77 or 101 in F95 (according to According to this). Reviewing the thread, I see this was even linked earlier.

When you don't redirect them, they inherit it from whatever it's being run from -- in a terminal, it would get your keyboard as stdin and your screen as stdout. But you can send them anywhere you want with the shell:

Code:
./myprogram < inputfile > outputfile

So if myprogram was an F77 program, writing to 6 would write to outputfile and reading from 5 would read from inputfile...

Last edited by Corona688; 11-03-2011 at 01:23 PM..
This User Gave Thanks to Corona688 For This Post:
# 18  
Old 11-03-2011
Thanks for your Enlightenment Corona688 !
# 19  
Old 11-03-2011
Thanks, I was confused earlier with the 'standard input/output' because I always though you had to have a file name no matter what unit identifier you used. That's where the confusion was.

I'm still having one small problem but I'll play around with it and see what happens...But I am making progress!!!
# 20  
Old 11-03-2011
I think FORTRAN predates the concept of "file", so... Smilie
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Loop through multiple files in bash script

Hi Everybody, I'm a newbie to shell scripting, and I'd appreciate some help. I have a bunch of .txt files that have some unwanted content. I want to remove lines 1-3 and 1028-1098. #!/bin/bash for '*.txt' in <path to folder> do sed '1,3 d' "$f"; sed '1028,1098 d' "$f"; done I... (2 Replies)
Discussion started by: BabyNuke
2 Replies

2. Shell Programming and Scripting

Read files in shell script code and run a C program on those files

HI, I am trying to implement a simple shell script program that does not make use of ls or find commands as they are quite expensive on very large sets of files. So, I am trying to generate the file list myself. What I am trying to do is this: 1. Generate a file name using shell script, for... (2 Replies)
Discussion started by: shoaibjameel123
2 Replies

3. UNIX for Dummies Questions & Answers

Writing a loop to process multiple input files by a shell script

I have multiple input files that I want to manipulate using a shell script. The files are called 250.1 through 250.1000 but I only want the script to manipulate 250.300 through 250.1000. Before I was using the following script to manipulate the text files: for i in 250.*; do || awk... (4 Replies)
Discussion started by: evelibertine
4 Replies

4. UNIX for Dummies Questions & Answers

Writing a loop to manipulate a script and store it in multiple output files

I have a script where the the 9th line looks like this: $filename=sprintf("250.1chr%d.ped", $N); I want to modify this script 1000 times, changing 250.1chr%d.ped to 250.2chr%d.ped, 250.3chr%.ped.......and so on all the way to 250.1000chr%d.ped and store each output in files called ... (4 Replies)
Discussion started by: evelibertine
4 Replies

5. Shell Programming and Scripting

Removing matching text from multiple files with a shell script

Hello all, I am in need of assistance in creating a script that will remove a specified block of text from multiple .htaccess files. (roughly 1000 files) I am attempting to help with a project to clean up a linux server that has a series of unwanted url rewrites in place, as well as some... (4 Replies)
Discussion started by: boxx
4 Replies

6. Shell Programming and Scripting

Shell script to run a python program on multiple entries in a file

Hello I am trying to run a python program using shell script, which takes a single argument from a file. This file has one entry per line : 1aaa 2bbb 3ccc 4ddd 5eee ... ... ... My shell script runs the program, only for the last entry : #!/bin/sh IFS=$'\n' for line in $(cat... (2 Replies)
Discussion started by: ad23
2 Replies

7. UNIX for Dummies Questions & Answers

Foreach loop to run a perl script on multiple files

Hi, I have thousands of files in a directory that have the following 2 formats: 289620178.aln 289620179.aln 289620180.aln 289620183.aln 289620184.aln 289620185.aln 289620186.aln 289620187.aln 289620188.aln 289620189.aln 289620190.aln 289620192.aln.... and: alnCDS_1.fasta (1 Reply)
Discussion started by: greptastic
1 Replies

8. Shell Programming and Scripting

Storing the values in text file using while loop in shell script

Hi Frdz while read line do name=`echo $line | cut -d' ' -f 1 ` password=`echo $line | cut -d`-` -f 2` name > logfile.txt password > logfile.txt done < list.txt When it is run, am getting last values in list.txt file only,it is not storing lall the list entry values. How can i... (5 Replies)
Discussion started by: KiranKumarKarre
5 Replies

9. Shell Programming and Scripting

problem accessing Multiple Variables from C Program to a Shell script

program name--test #!/bin/bash output1=`/home/user/a.c` output2=`/home/user/a.c` k=`$output1 + 1` m=`$output2 + 1` echo $k echo $m --------------------------------------------------------------------------- prgram name--a.c #include<stdio.h> int main() (1 Reply)
Discussion started by: sameworld1980
1 Replies

10. Shell Programming and Scripting

want to run different files under the same program using shell script

suppose have different files 1.1 2.2 3.3 4.4 5.5 All the files have to run under the same command say tr -d '\n' so how to run all the files under the same command by using shell script (3 Replies)
Discussion started by: cdfd123
3 Replies
Login or Register to Ask a Question