networker kimenet szűrése awk-val

Sziasztok!
Nem vagyok awk guru, de biztos vagyok benne, hogy egy egyszerű dolgot kérdezek.
Van egy nsradmin által legeneralt, de nem szűrt listám amit szűrnöm kéne, ez így néz ki(pár dolgot kicsillagoztam):

type: NSR client;
name: ********;
server: ********;
client id: \
265336ad-00000004-53285da9-532c68c0-3db5000b-5de54d4e;
scheduled backup: Enabled;
comment: ;
Save operations: ;
archive services: Disabled;
schedule: Full on Sunday;
browse policy: month;
retention policy: month;
statistics: elapsed = 583639, index size (KB) = 37657,
amount used (KB) = 37657, entries = 238603;
directive: ;
group: Production;
save set: All;
Backup renamed directories: Enabled;
Checkpoint enabled: Disabled;
Checkpoint granularity: Directory;
priority: 500;
File inactivity threshold: 0;
File inactivity alert threshold: 0;
remote access: ;
remote user: ;
password: ;
backup command: ;
application information: ;
ndmp: No;
NDMP array name: ;
De-duplication backup: No;
De-duplication node: ;
Pool: ;
Data Domain backup: No;
Client direct: Enabled;
Probe resource name: ;
virtual client: No;
physical host: ;
Proxy backup type: ;
Proxy backup host: ;
executable path: ;
server network interface: ;
aliases: ********************;
index path: ;
owner notification: ;
parallelism: 4;
physical client parallelism: Disabled;
storage nodes: nsrserverhost;
recover storage nodes: ;
hard links: Disabled;
short filenames: Disabled;
BMR: Disabled;
BMR options: ;
backup type: ;
client OS type: Linux;
CPUs: 2;
NetWorker version: 7.6.4.2.Build.1060;
enabler in use: Yes;
licensed applications: ;
licensed PSPs: ;;

A tartalma több mint 65ezer sor. Ebből szeretnék egy listát ahol az OS type: Linux v Solaris, ami a következőképpen nézne ki:

name group parallelism Networker Version

Tehát a name helyén a host neve és így tovább.
Elkezdtem awk-val...hm...bohóckodni, de nem jutottam messzire.
(nincs rá módom, hogy újra legeneráljam a listát a networkerből)
Még a félmegoldásokat is szívesen fogadom, amiből el tudok indulni.

Hozzászólások

én a te helyedben egy táblázatot készítenék. pl minden 20 sornál lenne csak soremelés egyébként pedig a \n karaktert törölném.
ha megvan hogy az adott értékek egy sorban vannak akkor utána már gyerekjáték.

egy kis segítség:
http://www.thegeekstuff.com/2010/01/8-powerful-awk-built-in-variables-f…
--
A legértékesebb idő a pillanat amelyben élsz.
https://sites.google.com/site/jupiter2005ster/


awk -F': *|;' '$1~/^(name|group|parallelism|NetWorker version)$/ { output = (output ? output " " $2 : $2) }; $1~/^(client OS type)$/ { os=$2}; $1 == "NetWorker version" && os ~ /^(Linux|Solaris)/ { print output; output=""}' input

icipicit rövidebben, és talán elegánsabban:


awk -F': *|;' '/^type/,/^NetWorker version/ { a[$1] = $2; if ($1 == "NetWorker version" && a["client OS type"] ~ /^(Linux|Solaris)/) {print a["name"], a["group"], a["parallelism"], a["NetWorker version"]}}' input

Így van. További mnemonikként egy kis indirekt elismerés ezzel kapcsolatban a nagytesó dokjában (man perlvar):

"$INPUT_RECORD_SEPARATOR
$RS
$/ The input record separator, newline by default.
...
Remember: the value of $/ is a string, not a regex. awk has to be better for something. :-)"

(Bár most itt egy kicsit összekeveredett az FS és az RS taglalása.)