我正在寻找一种方式来做到这一点在命令行上,因为这是不太难的任务Java
或Python
。
就像是:
$ measure_depth /a/b/c/d/e/f
6
$ measure_depth /a
1
这个问题是功能上等同于“有没有一种简单的方法来计算一个文件名斜线的数量?”
我正在寻找一种方式来做到这一点在命令行上,因为这是不太难的任务Java
或Python
。
就像是:
$ measure_depth /a/b/c/d/e/f
6
$ measure_depth /a
1
这个问题是功能上等同于“有没有一种简单的方法来计算一个文件名斜线的数量?”
定义一个measure_depth功能:
measure_depth() { echo "${*#/}" | awk -F/ '{print NF}'; }
然后,按如下方式使用它:
$ measure_depth /a/b/c/d/e/f
6
$ measure_depth /a
1
你可以这样做
tr -s "/" "\n" | wc -l
它为您提供了一个额外的一个,所以它周围的“哈克”的方式将
sed "s/^\///" | tr -s "/" "\n" | wc -l
echo "/a/b/c/d/e/f" | sed "s/^\///" | tr -s "/" "\n" | wc -l
6
使用realpath
计算的斜线,以避免高估的如前/home/user/../user/../user/../user/dir/
将被转换为/home/user/dir
。
realpath <dir> | grep -o '/' | wc -l