28 lines
406 B
Awk
28 lines
406 B
Awk
BEGIN {
|
|
slen = length(src)
|
|
}
|
|
|
|
{
|
|
if (length($0) <= slen) {
|
|
next
|
|
}
|
|
|
|
rel = substr($0, slen + 2)
|
|
parent = rel
|
|
if (sub(/\/[^\/]+$/, "", parent) == 0) {
|
|
parent = "."
|
|
}
|
|
|
|
all[parent]++
|
|
if (is_dir[rel]) {
|
|
dirs[parent]++
|
|
}
|
|
is_dir[parent] = 1
|
|
}
|
|
|
|
END {
|
|
for (parent in all) {
|
|
printf "%s|%d|%d\n", parent, all[parent], dirs[parent]
|
|
}
|
|
}
|