Visit Our UNIX and Linux User Community


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


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Read files in shell script code and run a C program on those files
# 1  
Old 09-17-2013
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 example, 1.dat, 2.dat,..., so on.

2. Call a C program within the for-loop in that shell program. The C program reads the file name in argv [ 1 ], which is defined within the program.

3. Loop until all files have been read by the C program.

This is what I have done.

My original shell script was this:
Code:
ls -1 *.dat | while read page
do
  c_program.out $page>$page.txt
done
rename .dat.txt .dat *.dat.txt

But the above script is very slow when the number of files is really really big. SO I am now trying to do this:

Code:
for i in {1..5}
do
        var=`$i.dat`
        c_program.out $var > $i.txt
done
rename .txt .dat *.txt

But when I run the shell script, I get the following errors:

Code:
shelll_script.sh: line 3: ./1.dat: Permission denied
shelll_script.sh: line 3: ./2.dat: Permission denied
shelll_script.sh: line 3: ./3.dat: Permission denied
shelll_script.sh: line 3: ./4.dat: Permission denied
shelll_script.sh: line 3: ./5.dat: Permission denied

I am using Linux with BASH.
# 2  
Old 09-17-2013
Your problem is var=`$i.dat`. Remove the quotes to make it work. The quotes are used to evaluate what's inside.
This User Gave Thanks to Subbeh For This Post:
# 3  
Old 09-17-2013
Yes. It indeed works.

Previous Thread | Next Thread
Test Your Knowledge in Computers #108
Difficulty: Easy
The outer layers of the Linux architecture has the shell, shell commands and application programs.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell file to run other shell files running jar files

Hi, I am trying to write a shell script that will go to another folder and run the script in that folder. The folder structure is kind of like this: /MainFolder/ |-> MainShellScript.sh | |-> Folder1/ |-----|-> script1.sh |-----|-> FileToRun1.jar | |-> Folder2/ |-----|-> script2.sh... (3 Replies)
Discussion started by: sleo
3 Replies

2. Shell Programming and Scripting

how to read two text files in the same shell script

Folks i have written two scripts that do reading of csv files , i am currently fetching the all part of the line in to variables and braking the line into several variables. I am doing the same thing in an another shell script, i want to integrate both the scripts in to a single one where i can... (2 Replies)
Discussion started by: venu
2 Replies

3. UNIX for Dummies Questions & Answers

Using Shell Script To Loop Program Through Multiple Text Files

Hello, So I have approximately 300 files of raw data (.txt) files that I am using to perform statistical analysis. I have been able to construct a Fortran program that is able to perform my statistical analysis on a file by file basis. However, I now want to be able to loop program through... (19 Replies)
Discussion started by: Jimmyd24
19 Replies

4. Shell Programming and Scripting

How to Read Multiple files in a Shell Script

Hi, Can any one tell me if i can read two files in a shell script... My actual requirement is to read the 1st text file and parse it to get the file code and use this file code to retrieve data from database and print the fetched data in the 2nd text file (I have parsed it and printed the... (2 Replies)
Discussion started by: funonnet
2 Replies

5. Shell Programming and Scripting

perl script to check if empty files are created and delete them and run a shell script

I have a local linux machine in which the files are dumped by a remote ubuntu server. If the process in remote server has any problem then empty files are created in local machine. Is there any way using perl script to check if the empty files are being created and delete them and then run a shell... (2 Replies)
Discussion started by: hussa1n
2 Replies

6. Shell Programming and Scripting

Shell Script Needed to Read a text from a list files

Hi, Below is my issue which I desperately need and I want a shell script which can do this job. I need this script as I m planning to put this for a system health check. Please assist me. 1. There are 10 log files in a particular location. 2. open each log file. Goto to the end of the... (4 Replies)
Discussion started by: kashriram
4 Replies

7. Shell Programming and Scripting

shell script to run .sql files

hi Friends, Please help me in writing shell script to run list of sql files. database is Oracle 9i, unix os is solaris Requirement is 1. sql file must take two inputs a)feed id and b)business date 2.shell script must out put .xls or .csvfile as out put without trimming any column name and... (1 Reply)
Discussion started by: balireddy_77
1 Replies

8. Shell Programming and Scripting

Shell script to read multiple log files

Hi all, I have to generate some report from shell script .We have stacktrace log file which generate hourly basis. So now my q is that how this shell script will read all stacktrace log file for particlular day and parse accordingly desire output. Any help or suggestion as i am newbie with... (1 Reply)
Discussion started by: esungoe
1 Replies

9. 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

10. Shell Programming and Scripting

Perl program to read from multiple files

Hi, I need to generate a test data file by reading inputs from multiple files. A sample pseudo code for this program to read from three files and write to a output file would be like: open(OUTPUTFILE, "data"); open(INFILE1, "data1"); open(INFILE2, "data2"); open(INFILE3, "data3"); ... (1 Reply)
Discussion started by: jyotipg
1 Replies

Featured Tech Videos