amon
1
I'm trying to pass nawk a shell variable to be used in a pattern match. I can't get this work.
I'm calling nawk from a /bin/sh
echo " Input file: \c"
read var1
echo " Input: \c"
read var2
nawk -F"|" -v x=$1 ' BEGIN
$15 ~ /^'$var2'/ {print $2}' var1 {apary=$15; bparty=$23; time=$4; duration=$43; account=$65; charge=$66}
END { print apary"|"bparty"|"vrijeme"|"duration"|"account"|"charge } ' $1 >> final
so I should read from file var1 and search for pattern var2 and put all that in file final.
PLEASE can anyone help me out with this code somehow it does not work..
THANKS in advance
aigles
2
perhaps ...
echo " Input file: \c"
read var1
echo " Input: \c"
read var2
nawk -F"|" -v x=$1 ' BEGIN
$15 ~ /^'$var2'/ {print $2}' var1 {apary=$15; bparty=$23; time=$4; duration=$43; account=$65; charge=$66}
END { print apary"|"bparty"|"vrijeme"|"duration"|"account"|"charge } ' $1 >> final
Please, give us an example
Jean-Pierre
amon
3
hello guys I finallly solved that problem...
it should be like this
nawk -F"|" -v x=$2 '
BEGIN { print "A party|B party|Vrijeme|Duration|AccountBalance|Charge|" }
{ if($15 ~ /'$2'/) {{apary=$15; bparty=$23; vrijeme=$4; duration=$43; account=$65; charge=$66}
{ print apary"|"bparty"|"vrijeme"|"duration"|"account"|"charge }}
}
END {print "bla bla bla "} ' $1 >>$2
so output should be just fiields 15 23 4 43 65 and 66 and comprered with value on field $15..
Thanks all for reading this post
echo " Input file: \c"
read var1
echo " Input: \c"
read var2
nawk -F"|" -v x1=$var1 -v x2=$var2 -v etc ....{
# x1 and x2 are the variables to use here
}