我试图"abc.txt"
摆脱/this/is/could/be/any/path/abc.txt
使用 Unix 命令。注意/this/is/could/be/any/path
是动态的。
任何的想法?
在bash
:
path=/this/is/could/be/any/path/abc.txt
如果您的路径中有空格,请将其包装在"
path="/this/is/could/be/any/path/a b c.txt"
然后提取路径,使用basename函数
file=$(basename "$path")
或者
file=${path##*/}
basename path
给出路径末尾的文件名
编辑:
值得补充的是,一种常见的模式是在命令周围使用反引号,例如 `basename ...`,因此 UNIX shell 将执行命令并返回其文本值。
因此,要将 basename 的结果分配给变量,请使用
x=`basename ...path...`
$x 将是文件名。
您可以使用 dirname 命令
$ dirname $path
您可以使用basename /this/is/could/be/any/path/abc.txt