如果我有一个字符串,some/unknown/amount/of/sub/folder/file.txt我怎么才能得到file.txt子字符串,删除前面部分,而长度是未知的.
谢谢
编辑:文件名可以是任何长度,子文件夹可以是任何级别.
Ste*_*ini 13
$ basename "some/unknown/amount/of/sub/folder/file.txt"
file.txt
Run Code Online (Sandbox Code Playgroud)
要通常提取子字符串,可以使用此语法
$ hello="abcdef"
$ echo ${hello:1:3}
bcd
Run Code Online (Sandbox Code Playgroud)
虽然我同意正确的答案是调用basename,但在bash中你也可以使用##从变量的开头删除字符串中出现的最长字符串.
bash-3.2$ t=/this/is/a/path
bash-3.2$ echo ${t##*/}
path