【问题标题】:Getting a partial path to a file in a bash script在 bash 脚本中获取文件的部分路径
【发布时间】:2011-02-05 09:20:48
【问题描述】:

我有一个存储在变量中的路径

$FULLPATH="/this/is/the/path/to/my/file.txt"

我还有另一个包含部分路径的变量

$PARTIAL="/this/is/the/"

我想从完整路径中删除部分路径,以便留下:

path/to/my/file.txt

最好的方法是什么?

【问题讨论】:

  • 和往常一样,我在发帖30秒后就解决了。我正在通过 sed 运行路径并删除部分路径......我很傻

标签: bash unix path


【解决方案1】:

使用 bash 的 # 模式匹配运算符:

${FULLPATH#${PARTIAL}}

【讨论】:

  • 有没有办法修改它,以便有一个可选的/?这样,如果$PARTIAL没有/,还是会被删除?
【解决方案2】:

以下是 Klatchko 先生出色回答的更多细节:

$ FULLPATH="/this/is/the/path/to/my/file.txt"
$ PARTIAL="/this/is/the/"
$ echo ${FULLPATH#${PARTIAL}}
path/to/my/file.txt

【讨论】:

    【解决方案3】:

    如果您确定 $PARTIAL 是实际路径:

    result="${FULLPATH#$PARTIAL}"
    result="${result#/}"
    

    【讨论】:

      【解决方案4】:
      # echo $FULLPATH | sed 's#'"$PARTIAL"'##'
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2022-10-13
        • 1970-01-01
        • 2023-03-07
        • 2013-01-21
        • 1970-01-01
        • 1970-01-01
        • 2016-12-27
        相关资源
        最近更新 更多