|
try the following awk program:
code:
#!/usr/bin/awk -f
# awk file: h.awk
function print_datas() {
if (member) print member,serials;
}
begin {
fs = "[=;]";
}
/^member/ {
print_datas();
member = "";
serials = "";
}
$1=="membernumber" {
member = $2;
}
$1=="serialn" {
sub(/^.*-0*/, "", $2);
sub(/".*$/, "", $2);
serials = (serials ? serials ofs : "") $2;
}
end {
print_datas();
}
input file:
code:
$ cat h.txt
member
membernumber=09700104;
idnumber="";
areac="";
status=0;
global_synchro="2007-06-05 15:13:13";
hw1
hardware{
serialn="011-001-000229";
version=0101;
hw2
hardware{
serialn="011-001-000225";
version=0101;
hw3
hardware{
serialn="011-001-000255";
version=0101;
member
membernumber=09700777;
idnumber="";
areac="";
status=0;
global_synchro="2007-06-05 15:13:13";
hw1
hardware{
serialn="011-001-000123";
version=0101;
hw2
hardware{
serialn="011-001-000456";
version=0101;
$output:
code:
$ awk -f h.awk h.txt
09700104 229 225 255
09700777 123 456
$
|