awk. , grep . , , , , Agent:, Agent:.
awk 'BEGIN{RS="==*"}
/Agent Name: agent10479475/{
print "-->"$0
}' file
$ ./shell.sh
-->
Agent Name: agent10479475
Bank Balance: $4356
Buy bids placed: 87
Desired assets --
ticket_10960: Quantity(0), Desired Quantity(1)
ticket_11162: Quantity(0), Desired Quantity(2)
ticket_11213: Quantity(0), Desired Quantity(1)
ticket_11334: Quantity(0), Desired Quantity(1)
ticket_11425: Quantity(0), Desired Quantity(3)
ticket_11510: Quantity(0), Desired Quantity(1)
ticket_11732: Quantity(0), Desired Quantity(2)
ticket_11843: Quantity(1), Desired Quantity(1)
ticket_11904: Quantity(0), Desired Quantity(1)
ticket_12035: Quantity(0), Desired Quantity(3)
ticket_12120: Quantity(0), Desired Quantity(1)
ticket_12332: Quantity(0), Desired Quantity(2)
ticket_12433: Quantity(0), Desired Quantity(1)
ticket_12564: Quantity(1), Desired Quantity(1)
ticket_12645: Quantity(0), Desired Quantity(3)
flight to melbourne: Quantity(8), Desired Quantity(8)
room: Quantity(32), Desired Quantity(24)
Negative quantity assets --
ticket_7401: Quantity(-14)
ticket_22013: Quantity(-15)
ticket_28401: Quantity(-14)
Remaining assets --
ticket_6463: Quantity(1)
ticket_9861: Quantity(1)
ticket_13441: Quantity(1)
ticket_20813: Quantity(1)
ticket_26853: Quantity(1)
awk (RS) "====", Agent: Agent:. , , $0.
Perl script,
$line = s/^\s+[0-9]+//;
bids.txt. , ? , . , . cat + grep + cut Perl script awk
awk 'BEGIN{
printf "Enter agent num: "
getline num <"-"
regex="Agent Name: agent"num
RS="==*"
FS="\n"
}
$0 ~ regex{
for(i=1;i<=NF;i++){
if($i~/Buy bids placed:/){
m=split($i, bids,": ")
print bids[2]
avgbids[num]++
total+=bids[2]
}
}
}
END{
for(i in avgbids) print i, total/avgbids[i]
}' run*txt