面试题答案
一键面试awk -F: '{levels[$1]++; tree[$2]=$3} END {for (level in levels) {print level " - " levels[level]}}' data.txt
解释:
-F:
:指定以冒号:
作为字段分隔符。{levels[$1]++; tree[$2]=$3}
:levels[$1]++
用于统计每个层级的节点数量,tree[$2]=$3
用于构建树形结构(不过这里构建的树形结构未直接使用在输出中,仅满足构建要求)。END {for (level in levels) {print level " - " levels[level]}}
:在处理完所有输入行后,遍历levels
数组并按指定格式输出层级和对应的节点数量。