regex - 正则表达式的解释

标签 regex bash shell

下面的正则表达式是什么意思?

fspec="/exp/home1/abc.txt"
fname="${fspec##*/}"

我知道它是做什么的,但不知道它是怎么做的?我不清楚获取 fname。

请解释。

最佳答案

${var##*/> 语法将所有内容剥离到最后一个 /

$ fspec="/exp/home1/abc.txt"
$ echo "${fspec##*/}"
abc.txt

通常,${string##substring} 会从 $string 的前面去除最长的 $substring 匹配。

如需进一步引用,您可以查看 Bash String Manipulation有几个解释和例子。

关于regex - 正则表达式的解释,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21777350/

相关文章:

ruby - 如何理解 gsub(/^.*\//, '' ) 或正则表达式

r - 匹配字符后跟恰好 1 位数字

linux - AWK 使用的替代方案

linux - 用于重命名文件夹和子文件的 Shell 脚本

javascript - 如何使用正则表达式突出显示字符串中的多个关键字/词?

javascript - JavaScript 中的正则表达式前瞻

bash - 如何用sed删除文本或空行?

bash - 在 Bash 中的最后两个斜杠之间提取字符串

bash - 使用 shell 脚本合并两个属性文件

bash - 我已经重定向了 stdout 和 stderr,为什么我仍然得到一些输出?