samedi 16 mai 2015

awk pattern match for a line with two specific words

Using AWK, want to print last line containing two specific words. Suppose I have log.txt which contains below logs

log1|Amy|Call to Bob for Food
log2|Jaz|Call to Mary for Toy and Cookies
log3|Ron|Call to Jerry then Bob for Book
log4|Amy|Message to John for Cycle

Now, Need to extract last line with "Call" and "Bob". I tried with-

#!/bin/bash
log="log.txt"
var="Bob"
check=$(awk -F'|' '$3 ~ "/Call.*$var/" {print NR}' $log | tail -1)
echo "Value:$check"

so Value:3 (3rd record) should be printed. But it's not printed.Please suggest. I have to use awk.

Aucun commentaire:

Enregistrer un commentaire