假设我有一个包含以下内容的文件:
foo / bar
foo / bar / thing0
foo / bar / thing1
...
foo / bar / thing10
foo / bar1 / thing0
foo / bar1
foo / bar2 / thing2
foo / bar1 / thing1 / subthing1
foo / bar1 / thing1 / subthing2
...
我想生成一个分层视图,该视图为我提供“子线”的计数。也就是说,输出将如下所示:
富-100
foo / bar-20
foo / bar / thing0-8
...
foo / bar1-20
foo / bar1 / thing0-10
foo / bar2-60
foo / bar2 / thing2-1
并允许它是可配置的。例如,我可以将其限制为仅计算//(以'/'分隔)的出现次数。
我之前用perl脚本完成过此操作,但我想知道是否存在使用tcsh命令行和一些标准的unix实用程序的方法。
最佳答案
对于每个深度级别,您都可以使用标准的unix工具进行操作:
1级(foo):
cut -d/ -f1 < FILE | sort | uniq -c
级别2(foo / bar):
cut -d/ -f-2 < FILE | sort | uniq -c
3级(foo / bar / thin1)
cut -d/ -f-3 < FILE | sort | uniq -c
等等