file reading through shell script


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting file reading through shell script
# 1  
Old 10-21-2008
file reading through shell script

For reading a file through shell script I am using yhe code :

while read line
do
echo $line
done<data.txt

It reads all the line of that file data.txt.
Content of data.txt looks like:

code=y
sql=y
total no of sql files=4
a.sql
b.sql
c.sql
d.sql
cpp=n
c=y
total no of c files=1
a.c
.....
.......

Now, if sql=y and total no of sql files > 0 then want to fetch the only sql file names via shell script.
the script should fetch
a.sql
b.sql
c.sql
d.sql
# 2  
Old 10-21-2008
Code:
> cat temp.txt
code=y
sql=y
total no of sql files=4
a.sql
b.sql
c.sql
d.sql
cpp=n
c=y
total no of c files=1
a.c

> cat get_sql.ksh
echo "Enter the string.. \c";
read str
option=`grep "$str=" temp.txt|awk -F"=" '{print $2}'`
if [ "$option" = "y" ]
then
        nooffile=`grep "$str files=" temp.txt|awk -F"=" '{print $2}'`
        if [ "$nooffile" > "0" ]
        then
                echo "FILES...."
                grep "\.${str}" temp.txt
        fi
fi

[OUTPUT]
Enter the string.. sql
FILES....
a.sql
b.sql
c.sql
d.sql

Enter the string.. c
FILES....
a.c
[/OUTPUT]
# 3  
Old 10-21-2008
Thanks a lot palsevlohit....its working fine.
# 4  
Old 10-21-2008
It is also possible to do it all within a shell script without using external utilities such as grep i.e.
Code:
#!/usr/bin/bash

yes=0

IFS='='
while read line value
do
    [[ $line == "sql"  && $value == "y" ]] && ((yes++))
    [[ $line == "total no of sql files" && $value > "0" ]] && ((yes++))
    [[ $yes == 2 && ${line: -4} == ".sql" ]] && echo $line
done < file

# 5  
Old 10-21-2008
call below script with whatever parameter you like, such as 'sql' or 'c' will print the result accordingly

Code:
nawk -v f="$1" -F"=" '{
if ($1==f && $2="y")
	f1=1
if(f1==1 && $2>0)
	f2=1
file=sprintf(".%s",f)
if(f2==1 && index($0,file)!=0)
	print $0
}' filename

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell script reading file slow

I have shell program as below #!/bin/sh echo ======= LogManageri start ========== #This directory is getting the raw data from remote server Raw_data=/opt/ftplogs # This directory is ready for process the data Processing_dir=/opt/processing_dir # This directory is prcoessed files and... (4 Replies)
Discussion started by: Chenchireddy
4 Replies

2. UNIX for Dummies Questions & Answers

C-Shell script help reading from txt file

I need to write a C-Shell script with these properties: It should accept two arguments on the command line. The first argument is the name of a file which contains a list of names, and the second argument is the name of a directory. For each file in the directory, the script should print the... (1 Reply)
Discussion started by: cerce
1 Replies

3. Shell Programming and Scripting

Reading a csv file using shell script

Hello All, I have a csv file that looks like below ProdId_A,3.3.3,some text,some/text,sometext_1.2.3 ProdId_B,3.3.3,some text,some/text,sometext_1.2.3 ProdId_C,3.3.3,some text,some/text,sometext_1.2.3 ProdId_A,6.6.6,some text,some/text,sometext_9.9.9 I will get ProdId from... (5 Replies)
Discussion started by: anand.shah
5 Replies

4. Shell Programming and Scripting

Reading arguments for a shell script from file

I have a shell script that takes 2 arguments. I will have to execute this script multiple times with different values for the arguments. for example, ./shscript env1 value1 ./shscript env1 value2 ./shscript env2 value3 ./shscript env3 value4 ./shscript env1 value5 ./shscript env3... (24 Replies)
Discussion started by: goddevil
24 Replies

5. Shell Programming and Scripting

Error while reading from a file in shell script

Hi All, I'm writing a script to read a file line by line and then perform awk function on it. I am getting an error . My file has one name in it "James". I'm expecting my o/p to be youareJamesbond James ./users.sh: line 7: =: command not found #script to read file line by line #adding... (5 Replies)
Discussion started by: Irishboy24
5 Replies

6. Shell Programming and Scripting

Reading a property file through shell script???

Hi! i need a script that can read a property file. i.e., A script to read a "property" from property file. Read the property value and based on value of property, decide whether to start the some dataload activity or not. Its urngent. Can anyone help me out???:( (7 Replies)
Discussion started by: sukhdip
7 Replies

7. Shell Programming and Scripting

Reading the Properties File From Shell script

Hi, I am new to the shell script please I need help for following question. I have properties file name called "com.test.properties" I have No of key values in this properties. com.person.name = xyz com.person.age = 55 com.person.address = hello I want read this properties but i... (1 Reply)
Discussion started by: venukjs
1 Replies

8. Shell Programming and Scripting

File reading problem via shell script

Hi, Data file named parameter contains : DB=y Alter_def.sql Create_abc.sql SQL=y database.sql my_data.sql To read this file I use var_sql=$(awk -F= '$1 == "SQL" { print $2 }' parameter.txt) if then sql_f_name=`grep "\.sql" parameter.txt` echo $sql_f_name fi (2 Replies)
Discussion started by: Dip
2 Replies

9. Shell Programming and Scripting

Reading data from a file through shell script

There is one Text file data.txt. Data within this file looks like: a.sql b.sql c.sql d.sql ..... ..... want to write a shell script which will access these values within a loop, access one value at a time and store into a variable. can anyone plz help me. (2 Replies)
Discussion started by: Dip
2 Replies

10. Shell Programming and Scripting

Reading file names from a file and executing the relative file from shell script

Hi How can i dynamically read files names from a list file and execute them from a single shell script. Please help its urgent Thanks in Advance (4 Replies)
Discussion started by: anushilrai
4 Replies
Login or Register to Ask a Question