我有一个如下所示的字符串:
hello/my/name/is/lebowski
我需要提取最后一个 /
之后的字符串部分(本例中为lebowski
)。我需要用 Bash 来做这件事。我该如何实现这一目标?我可以使用正则表达式功能在 Java 或 Python 中执行此操作,但我不知道如何通过 Bash 命令执行此操作。
如有任何帮助,我们将不胜感激。谢谢!
最佳答案
通常,当您的文本看起来像目录路径时,basename
和 dirname
命令会派上用场。 basename
为您提供不带前导路径的文件名(在本例中为 lebowski
),dirname
为您提供不带文件的目录名(hello/my/name/is/
在本例中)。
无论哪种方式,它们都会产生一个子进程。您可以使用变量替换来获得您想要的内容,如下所示:
var="hello/my/name/is/lebowski"
name=${var##*/}
我建议阅读 bash
手册中有关替换的部分以获取更多信息。
关于string - 在 Bash 中从末尾提取子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47168075/