BEGIN {
FS = ": "
- CONCAT = ";"
- FOUND = 0
+ CONCAT = " "
PRINT_HEAD = 0
+
+ found = 0
}
/^$/ {
- if (FOUND == 0) {
+ if (found == 0) {
next
}
-
- if (PFIELDS_OK == 1) {
- delete fields
- for (i in PFIELDS) {
- fields[i] = PFIELDS[i]
- }
- }
+ sub(/^ */,"",filter)
if (PRINT_HEAD == 1 && !count) {
line = ""
- for (i in fields) {
+ #for (i in fields) {
+ split(filter,values," ")
+ for (i in values) {
+ i = values[i]
sub(/:$/,"",i)
line = line"\t"i
}
count++
line = ""
- for (i in fields) {
+ #print ">"filter"<"
+ split(filter,values," ")
+ for (i in values) {
+ i = values[i]
+ #for (i in fields) {
if (i ~ /:$/) {
cmd="echo "h[i]" | base64 -d"
print line
delete h
- FOUND = 0
+ found = 0
+ if (PFIELDS_OK == 0) filter = ""
next
}
1 && /: / && !/^(objectClass_): / {
- FOUND = 1
+ found = 1
field = $1
sub(/^.*?: /,"",$0)
sub(/\t/," ",$0)
h[field] = h[field]""CONCAT""$0
} else {
h[field] = $0
+ if (PFIELDS_OK == 0) filter = filter" "field
}
- fields[field]++
+ if (PFIELDS_OK == 0) {
+ fields[field]++
+ }
}
BEGIN {
- split("",PFIELDS,"")
+ #split("",fields,"")
+ #PROCINFO["sorted_in"] = "@ind_str_asc"
PFIELDS_OK = 0
filter = ""
for (i = 1; i < ARGC; i++) {
- if (ARGV[i] ~ /^[a-zA-Z0-9]+$/) filter = filter""ARGV[i]" "
+ if (ARGV[i] ~ /^[a-zA-Z0-9]+$/) filter = filter" "ARGV[i]
delete ARGV[i]
}
if (filter != "") {
- sub(/ *$/,"",filter)
+ sub(/^ */,"",filter)
PFIELDS_OK = 1
}
split(filter,values," ")
for (i in values) {
- PFIELDS[values[i]]++
+ fields[values[i]]++
}
}