bash模式和模式匹配

时间:2023-01-02 09:54:21

bash模式和模式匹配

  • ${variable#pattern}

    如果模式匹配变量取值的开头,删除最短匹配部分,返回其余部分
  • ${variable##pattern}

    如果模式匹配变量取值的开头,删除最长匹配部分,返回其余部分
  • ${variable%pattern}

    如果模式匹配变量取值的结尾,删除最短匹配部分,返回其余部分
  • ${variable%%pattern}

    如果模式匹配变量取值的结尾,删除最长匹配部分,返回其余部分

一个处理文件的样例:

${path} = /home/fuzl/book/long.file.name
${path##/*/} = long.file.name
${path#/*/} = fuzl/book/long.file.name
${path%%.*} = /home/fuzl/book/long
${path%.*} = /home/fuzl/book/long.file