Bash中的百分比符号,它用于什么?

时间:2016-01-22 16:50:07

标签: bash

我有一个以.zip结尾的文件名,我只想要没有zip的文件名。在这里,我在bash中找到了一个技巧。

$f="05 - Means-End Analysis Videos.zip"
$echo "${f%*.zip}"
05 - Means-End Analysis Videos

这里发生了什么? %*.zip如何移除我的扩展程序?

1 个答案:

答案 0 :(得分:19)

从头开始删除string$var的最短匹配:

${var#string}

从头开始删除string$var的最长匹配:

${var##string}

从结尾删除string$var的最短匹配:

${var%string}

从结尾删除string$var的最长匹配:

${var%%string}

尝试:

var=foobarbar
echo "${var%b*r}"
> foobar
echo "${var%%b*r}"
> foo