如何删除路径中的前 X 个目录?

如何删除路径中的前 X 个目录?

我有一个运行如下的命令:

./command shortened_path_to_current_directory

的输出pwd

/path/to/current/directory

并且shortened_path_to_current_directory是:

/current/directory

因此它会删除路径中的前 2 个目录。

是一种运行命令的方法,例如

./command shorten($PWD)

哪里shorten有东西可以删除/path/to

答案1

使用参数扩展:

$ echo "/${PWD#*[a-z]*/[a-z]*/}"
/current/directory

看:http://mywiki.wooledge.org/BashFAQ/073和 man bash 中的“参数扩展”。
另请参阅http://wiki.bash-hackers.org/syntax/pe

相关内容