我正在寻找一种在命令行上执行此操作的方法,因为Java
或Python
中的任务不是太难。
类似的东西:
$ measure_depth /a/b/c/d/e/f
6
$ measure_depth /a
1
这个问题在功能上等同于“有一种简单的方法来计算文件名中的斜杠数吗?”
答案 0 :(得分:1)
定义measure_depth函数:
measure_depth() { echo "${*#/}" | awk -F/ '{print NF}'; }
然后,按如下方式使用:
$ measure_depth /a/b/c/d/e/f
6
$ measure_depth /a
1
答案 1 :(得分:0)
您可以执行类似
的操作tr -s "/" "\n" | wc -l
给你一个额外的,所以围绕它的“hacky”方式将是
sed "s/^\///" | tr -s "/" "\n" | wc -l
echo "/a/b/c/d/e/f" | sed "s/^\///" | tr -s "/" "\n" | wc -l
6
答案 2 :(得分:0)
在计算斜杠之前使用realpath
以避免过高估计,例如/home/user/../user/../user/../user/dir/
将被翻译为/home/user/dir
。
realpath <dir> | grep -o '/' | wc -l