grep and variables ?


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting grep and variables ?
# 1  
Old 10-19-2010
grep and variables ?

I would like to know if grep can extract the following requirement.
I have the folllowing piece of SQL in a file and need to grep the FROM part.
Code:
mp db-ter-fast-export C100_Input_Target_Table__table_ "${DB}"'/teradata.dbc' -select 'SELECT UPPER(trim(proj_id)) as proj_id,
latest_job_id, original_job_id
FROM '"${ETL_VW_SCHEMA}"'.PROJ
WHERE asof_to_dt = CAST('"'""${INFINITY_DT}""'"' AS DATE)
ORDER by proj_id'

I need to extract the RED LINE and grep fails since it encouters the variable(${ETL_VW_SCHEMA}),
Any other way to just get the line in RED from the entire file ?...I have few more similar occurences.

Thanks.

Last edited by Scott; 10-19-2010 at 07:33 PM.. Reason: Please use code tags
# 2  
Old 10-19-2010
grep do the job

Code:
[ctsgnb@shell ~]$ cat txt.sql
mp db-ter-fast-export C100_Input_Target_Table__table_ "${DB}"'/teradata.dbc' -select 'SELECT UPPER(trim(proj_id)) as proj_id,
latest_job_id, original_job_id
FROM '"${ETL_VW_SCHEMA}"'.PROJ
WHERE asof_to_dt = CAST('"'""${INFINITY_DT}""'"' AS DATE)
ORDER by proj_id'


[ctsgnb@shell ~]$ grep FROM txt.sql
FROM '"${ETL_VW_SCHEMA}"'.PROJ
[ctsgnb@shell ~]$

# 3  
Old 10-19-2010
I want the grep to function on the variables($ETL_VW_SCHEMA) and not using the baseword 'FROM' and the reason I say this is I have lot of SQLs in my .ksh file and I would choose the path of finding the view/table name directly.($ETL_VW_SCHEMA.PROJ)

Thanks for your suggestion though.
# 4  
Old 10-19-2010
Code:
grep '${ETL_VW_SCHEMA}' infile

should work. Or use:
Code:
fgrep '${ETL_VW_SCHEMA}' infile

# 5  
Old 10-19-2010
Scrutinizer - If it was that easy with grep, why would I waste your time.
the problem really is just not the $ETL_VW_SCHEMA, the way its generated with in the quotes and text coming after that(table name).
i.e as I mentioned, this is how it looks :

FROM '"${ETL_VW_SCHEMA}"'.PROJ
FROM '"${ETL_VW_SCHEMA}"'.PROJ_ABC

FROM '"${ETL_VW_SCHEMA}"'.PROJ_XXX
FROM '"${ETL_VW_SCHEMA}"'.PROJ_YYY
FROM '"${ETL_VW_SCHEMA}"'.PROJ_ZZZ
----
----
----

I just need to extract PROJ(the first line) and I am sure there is a way of doing this if not grep.
# 6  
Old 10-19-2010
Just enclose string in single quotes and use backslash for any single quotes in the string:

Code:
 grep 'FROM \'"${ETL_VW_SCHEMA}"\'.PROJ' infile


Last edited by Chubler_XL; 10-19-2010 at 08:42 PM.. Reason: Fix formatting
# 7  
Old 10-20-2010
This doesn't work either, any workable solutions please ?. I would appreciate !

Code:
grep 'FROM \'"${ETL_VW_SCHEMA}"\'.PROJ' infile

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Using $variables in grep

Hi, I'm currently trying to use variables in grep on my script. Printing the variable via echo works fine. Also, if I hard coded the date of the appointment it works just fine. But, if I try to use the $DATE as an argument in grep it doesn't do anything. #!/bin/bash DATE=${2}/${3}/${1} ... (6 Replies)
Discussion started by: nuclearpenguin
6 Replies

2. Homework & Coursework Questions

Grep, Variables, IF statements... Fun

Use and complete the template provided. The entire template must be completed. If you don't, your post may be deleted! 1. The problem statement, all variables and given/known data: The issue I am having is part of a validation problem. My script will validate 3 or 4 parameters entered by the... (4 Replies)
Discussion started by: JonLaberge
4 Replies

3. Shell Programming and Scripting

[Help] Grep, Variables, IF statements... Fun

Hello, this will be my first post. I've been browsing around for a bit and have found a lot of useful information on here, hopefully a solution can be provided to me. Issue: Alright, I am looking to search for strings within a file using variables. I have a script that will accept 3 or 4... (2 Replies)
Discussion started by: JonLaberge
2 Replies

4. Shell Programming and Scripting

Using awk or grep with Variables in a script

Good day Geeks, Am having an issue with using variables in a rather simple script, the script is as follows: #!/bin/bash ### Script written by Adigun Gbenga ### Date: April 28, 2012 array=( 1 2 3 4 5 29 7 8 9... (6 Replies)
Discussion started by: infinitydon
6 Replies

5. Shell Programming and Scripting

Print lines where variables occur more than once using grep

Hello, I want to only print lines where variables occur more than once using grep. For eg: Input: $this is a comment int a,b,c,b; int b,c; int d,e; int f,g,f; x=y+5; For the above input, the output would be int a,b,c,b; int f,g,f; I have done grep... (3 Replies)
Discussion started by: prasanna1157
3 Replies

6. Shell Programming and Scripting

grep variables nested within grep

Help, I have a ksh script that has some variables within the grep command, I am then setting another variable that greps the variables that have greps within them. cat $WORKINGDIR/meter_list.txt | while read meter do serialnum=$(cat masterlogfile.txt | grep "$meter" | awk '{ print $19 }'... (7 Replies)
Discussion started by: srichard9
7 Replies

7. Programming

Grep with C variables.

Hi all, I have a problem, I need a grep -v but, the patterns of the grep should be C variables. Example: char var1="h"; char var2="o"; char var3="d"; system("grep -v \"var1 var2 var3\" file.txt"); ---- ---- ---- I try it but... Can u help me? Thanks beforehand P.S. Sorry for... (4 Replies)
Discussion started by: AbelBs
4 Replies

8. Shell Programming and Scripting

How to use variables/array in grep command

Hi, I have a reqmt as i have some values in array and I want to search each value in a file by grep command. Here goes my scripting: #!/bin/ksh set -A ArrayA CENTER LEFT RIGHT echo "ArrayA contains: ${ArrayAİ*¨}" grep -e "${ArrayAİ*¨}" filename.txt The above grep is working for... (4 Replies)
Discussion started by: prashant43
4 Replies

9. Shell Programming and Scripting

awk as grep with variables

i have such awk working fine but how to use variable instead of strings awk '/asdasd.*asda.*asdasd/' file2.txt This is not working: awk '/${a}.*${b}.*${c}/' file2.txt Thanks & regards Peter (7 Replies)
Discussion started by: pp56825
7 Replies

10. Shell Programming and Scripting

Using grep with variables

Being new to shell scripting I hope this question isn't too elementary but here goes. I run a grep statement - grep 'sqr' sqrmodule.par and the grep statement returns correctly the information that I'm looking for. Now I want to take the output from the grep statement and load it into a... (2 Replies)
Discussion started by: gettingstarted
2 Replies
Login or Register to Ask a Question