我试图让"abc.txt"
出来的/this/is/could/be/any/path/abc.txt
使用Unix命令。 请注意, /this/is/could/be/any/path
是动态的。
任何的想法?
提前致谢。
我试图让"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"
然后解压路径,使用基名功能
file=$(basename "$path")
要么
file=${path##*/}
basename path
给出了文件名,在路径的末尾
编辑:
这可能是值得补充的是一个常见的模式是使用反引号周围命令如`基本名......',这样的UNIX shell将执行命令,并返回其文本值。
因此,要基本名的结果赋值给一个变量,使用
x=`basename ...path...`
和$ x是文件名。
您可以使用目录名的命令
$ dirname $path
您可以使用basename /this/is/could/be/any/path/abc.txt