假设我有一个包含以下内容的文件:

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


等等

10-08 08:09