read from file and grep using shell


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting read from file and grep using shell
# 1  
Old 02-14-2012
read from file and grep using shell

Hi Guys,

I have a small script which greps for the username reading from stdinput.

./file.sh pattern

Code:
pattern=$1
grep "blah blah.*$pattern" /home/user/log.txt

Instead of typing the pattern everytime i want to read the pattern from a file inside the shell script and execute the grep command for each pattern. Please advise if this can be done.

Cheers
# 2  
Old 02-14-2012
Code:
while read -r pattern; do
...
done

Redirect the read or while loop to your file (either within the script or upon invocation).

Depending on what you are trying to accomplish, you might even be able to just use grep's -f option, which reads patterns from the file provided.

Regards,
Alister
# 3  
Old 02-14-2012
Hi Alister,

Cheers for the reply mate. I'm a newb at this..so i'm assuming the syntax would be as follows:

Code:
pattern<<file.txt
while read -r pattern; do
grep "blah blah.*$pattern" /home/user/log.txt

# 4  
Old 02-15-2012
MySQL

you can try with below script too.

Code:
#! /bin/bash

while read pattern
do
grep "blah blah.*$pattern" /home/user/log.txt
done <file.txt # text file containing pattern

# 5  
Old 02-15-2012
Or
Code:
sed 's/^/blah blah.*/' patternfile | grep -f- /home/user/log.txt

# 6  
Old 02-15-2012
Quote:
Originally Posted by kalpeer
you can try with below script too.

Code:
#! /bin/bash

while read pattern
do
grep "blah blah.*$pattern" /home/user/log.txt
done <file.txt # text file containing pattern

Unless backslashes are to be treated as special characters, you really want to use read's -r option. Given that regular expressions are more likely to contain backslashes than standard text, -r is particularly important when handling them.

Regards,
Alister
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Advanced & Expert Users

Need help for faster file read and grep in big files

I have a very big input file <inputFile1.txt> which has list of mobile no inputFile1.txt 3434343 3434323 0970978 85233 ... around 1 million records i have another file as inputFile2.txt which has some log detail big file inputFile2.txt afjhjdhfkjdhfkd df h8983 3434343 | 3483 | myout1 |... (3 Replies)
Discussion started by: reldb
3 Replies

2. Shell Programming and Scripting

How to read each file grep a value from that?

Hi Team, in /tmp folder i have thousands of log files i want to read each file and grep a value called "Calling This". Each logfile name is different but it ends with .log. How can i achieve this? Please excuse if i did any mistake by not following forum standards. I will surely follow... (10 Replies)
Discussion started by: darling
10 Replies

3. UNIX for Beginners Questions & Answers

Read a file and send mail based on grep

Hi All, I am having a job and I need to send email when the job is running. On any other case (success,fail) I don't needed to send email. I check with BMC they told they dont have that in the version I am using. So I created a dependent job and grepped for the status and sent email. My... (1 Reply)
Discussion started by: arunkumar_mca
1 Replies

4. UNIX for Dummies Questions & Answers

Shell script to read lines in a text file and filter user data Shell Programming and Scripting

sxsaaas (3 Replies)
Discussion started by: VikrantD
3 Replies

5. Shell Programming and Scripting

read a file for input and grep in another file

Hi, I'm trying to read a fille into a loop and grep for a string and print the last field of the string in the second file. Then redirect the output to another file but keeping the output in the same order as the original file. I've tried using the following but the ouput from this does not... (3 Replies)
Discussion started by: elmesy
3 Replies

6. UNIX for Dummies Questions & Answers

Strange error: grep does not read from file

I have two files file1.txt angie mary susan file2.txt angie blond mary brunnet susan red christine blackI want to get this output angie blond mary brunnet susan redI write grep --file=file1.txt file2.txtand i get no results i also wrote cat file1.txt|while read line... (19 Replies)
Discussion started by: FelipeAd
19 Replies

7. UNIX for Advanced & Expert Users

how to grep/read a file inside compressed tgz without extract?

Hi all, I would like to ask whether in Unix shell/perl have any functions or command to allow grep/cat/read a file inside compressed .tgz without extract it? I know we can tar tvf a compressed tgz but this only allow we read the path/filename contained inside the tarball. If we want to read... (3 Replies)
Discussion started by: mayshy
3 Replies

8. Shell Programming and Scripting

read in variable data from another file - grep

Hello! I think this should be an easy solution. I have a large file with many fields of data. The first field has a unique identifier (a subject number) for every record for a chunk of data. Something like this: There were ten experimental conditions (ec), but the ec is identified by only... (11 Replies)
Discussion started by: ccox85
11 Replies

9. Shell Programming and Scripting

Read file then grep the line

Dear all, I am reading a file that has 1 column. While reading I must find the line references from the another file. The following shell doesn't works. Please help #!/bin/bash while read filename; do grep ${filename} fs_full.dat >> unprocfull.dat; done < unproc.dat But when... (2 Replies)
Discussion started by: mr_bold
2 Replies

10. Shell Programming and Scripting

Post Shell programming: Question about source a file and read data from the file

This is shell programming assignment. It needs to create a file called .std_dbrc contains STD_DBROOT=${HOME}/class/2031/Assgn3/STD_DB (which includes all my simple database files) and I am gonna use this .std_dbrc in my script file (read the data from the database files) like this: .... (3 Replies)
Discussion started by: ccwq
3 Replies
Login or Register to Ask a Question