Variable filtering in awk


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Variable filtering in awk
# 1  
Old 08-20-2013
Variable filtering in awk

Hello all,
can you explain why this filter does not work, it prints all the lines in the file:
Code:
awk -v sel="TestString" 'sel'  file

while these work:
Code:
awk '/TestString/' file
awk -v sel="TestString" '$0~sel'  file

Thanks!Smilie
# 2  
Old 08-20-2013
This
Code:
awk -v sel="TestString" '$0~sel'  file

is telling awk to filter - to do something!
# 3  
Old 08-20-2013
In other words, my question is about how to write an awk statement that will use the variable and use it in the form of a statement like:
Code:
awk -v var="TestString" '/ var /' file

to achieve filtering.
Any suggestions?
Thanks!
# 4  
Old 08-20-2013
Below awk prints all as its default action is to print everything if "sel" is true (not null or non-zero)...
Code:
awk -v sel="TestString" 'sel'  file

The awk listed below prints nothing as "sel" is false (null or zero)...
Code:
awk -v sel="" 'sel'  file

# 5  
Old 08-20-2013
Just curious:
Is there anyway to get something 'like' this to work, where the var is used for the / / construct ?
Code:
awk -v var="TestString" '/ var /' file

Any suggestion is appreciated.
# 6  
Old 08-20-2013
yes
Code:
awk -v var="TestString" '$0~var' file

# 7  
Old 08-20-2013
/.../ is a regex constant; /var/ tests input lines for occurrence of a literal string "var". To match variables, you need to do as joeyg and Jotne suggest.
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Filtering text with awk

I need to filter a file that is composed like that: >Cluster 0 0 292nt, >last294258;size=1;... * >Cluster 1 0 292nt, >last111510;size=1;... * 1 290nt, >last136280;size=1;... at -/98.62% 2 292nt, >last217336;size=1;... at +/99.66% 3 292nt, >last280937;size=1;... at -/99.32% >Cluster 2... (6 Replies)
Discussion started by: pedro88
6 Replies

2. Shell Programming and Scripting

Filtering values in variable

Hi, is there a faster/simpler way to filter values from the variable1 in variable2? example: variable1="A|B|C|E" variable2="A|B|C|D|F" output: "A|B|C" Thanks, zzavilz (4 Replies)
Discussion started by: zzavilz
4 Replies

3. Shell Programming and Scripting

filtering a numeric value which has '%' using awk

Hello Gurus, I have a requirement where I have to filter a value from some field which has 99% or greater than '99%'.. For ex: The Date (file -- sample.csv) will be like below Field1,Field2,Field3,Field4 860440512,844284992,16155520,99% 860440512,844284992,16155520,94%... (4 Replies)
Discussion started by: raghu.iv85
4 Replies

4. Shell Programming and Scripting

filtering awk not using grep

hallow all i have question about awk i want indexing last key (in BOLD number) ex: input.txt 1 252468812 52468812 1281268819 1252468812 1252468923 468812 1252468812 so output will like this output text 1:252468812 2:52468812 4:1252468812 6:468812 7:1252468812 output get... (8 Replies)
Discussion started by: zvtral
8 Replies

5. Shell Programming and Scripting

filtering with awk

i have question about awk ex: input.txt 1252468812,yahoo,3.5 1252468812,hotmail,2.4 1252468819,yahoo,1.2 msn,1252468812,8.9 1252468923,gmail,12 live,1252468812,3.4 yahoo,1252468812,9.0 1252468929,msn,1.2 output.txt 1252468812,yahoo,3.5 1252468812,hotmail,2.4 msn,1252468812,8.9... (3 Replies)
Discussion started by: zvtral
3 Replies

6. Shell Programming and Scripting

Filtering data using AWK

Hi , i have file with delimiter as "|" and data in Double codes for all fields. how to filter data in a column like awk -F"|" '$1="asdf" {print $0}' test. ex : "asdf"|"zxcv" Thanks, Soma (1 Reply)
Discussion started by: challamsomu
1 Replies

7. Shell Programming and Scripting

Filtering out text with awk

(0 Replies)
Discussion started by: nilekyle
0 Replies

8. Shell Programming and Scripting

awk filtering, then execution

Hi, I need to do the following but I don't know exactly what to do. I need to monitor a file ... with tail -f for example, but I know that I could do it with awk, wait for a specific string ... , then perform an action, call a script, etc. Let's say that my file name is test.txt , I need... (3 Replies)
Discussion started by: ocramas
3 Replies

9. Shell Programming and Scripting

Filtering some data and storing the remaing to a variable.

Hi, i have a problem writing a script. Actually i have many files which contains some data, now the last line has some data as in the format : 2556||04-04-10 now i want to do tail -1 filename.txt and store the result into a variable which will be used later for some other calculations. My... (7 Replies)
Discussion started by: fidelis
7 Replies

10. UNIX for Advanced & Expert Users

awk filtering ?

I have a Ques. Regarding awk I have few strings in a file, like.. ABC DEF_ABC GHI_ABC GHI Now I want string which has only 'ABC', not the part of any other string as it is also present in 'DEF_ABC' Output should be ABC Please guide me asap !! Thanks :b: (4 Replies)
Discussion started by: varungupta
4 Replies
Login or Register to Ask a Question