shell - need to search lines containing specific string pattern -


i checking if current line read awk contains strings using:

if (/.*abc.*lab.*/)  {  } 

but if string in line e.g.

[abc ls:lab=123 ....].. 

then string searched correctly, if line contains e.g.

[abc ls:key=xyz xyz. ls:lab=123 ...].. 

then line not searched though matches .*abc.*lab.*

can please correct me if doing mistake while searching?

you should able use:

awk '/abc.*lab/ { print $0 }' 

the pattern matched against $0, whole line. however, wrote should work if written as:

awk '{if (/.*abc.*lab.*/) print $0}' 

or simpler regex:

awk '{if (/abc.*lab/) print $0}' 

if don't have if inside { ... }, you've got syntactic problems awk.

given data file this:

[abc ls:lab=123 ....].. string searched correctly, if line contains e.g.  [abc ls:key=xyz xyz. ls:lab=123 ...].. 

the scripts above produce:

[abc ls:lab=123 ....].. [abc ls:key=xyz xyz. ls:lab=123 ...].. 

Comments

Popular posts from this blog

linux - Does gcc have any options to add version info in ELF binary file? -

android - send complex objects as post php java -

charts - What graph/dashboard product is facebook using in Dashboard: PUE & WUE -