【问题标题】:How to extract last directory in path in Zsh?如何提取Zsh路径中的最后一个目录?
【发布时间】:2020-05-20 13:06:40
【问题描述】:

假设我有一个包含目录路径的变量(带有斜杠):

dir="path/to/dir/"

如何使用 Zsh 的参数扩展提取最后一个目录(即"dir")?我想避免调用外部程序(如sed)。

【问题讨论】:

    标签: zsh parameter-expansion


    【解决方案1】:

    在 Zsh 中,你可以嵌套expansions。所以这行得通:

    $ dir="path/to/dir/"
    $ echo "${${dir%/}##*/}"
    dir
    

    【讨论】:

      【解决方案2】:

      zsh 中的参数扩展可以使用 csh 样式的历史修饰符;在这种情况下,您可以使用:t

         t      Remove  all leading pathname components, leaving the tail.  This
                works like `basename'.
      
      % dir="path/to/dir/"
      % print $dir
      path/to/dir/
      % print $dir:t
      dir
      

      【讨论】:

        猜你喜欢
        • 2012-01-03
        • 2012-12-26
        • 1970-01-01
        • 2015-08-09
        • 1970-01-01
        • 2011-09-01
        • 2019-01-02
        • 2011-12-26
        相关资源
        最近更新 更多