将文件名捕获到Unix中 我正在尝试使用unix命令将“ abc.txt”从/this/is/could/be/any/path/abc.txt中获取。 请注意,/this/iss/aby be/任何/路径是动态的。 有什么想法吗?

问题描述 投票:0回答:4
是动态的。 任何想法?

	
/this/is/could/be/any/path

如果您的路径有空间,请将其包裹在

bash
bash shell unix ksh
4个回答
93
投票

path=/this/is/could/be/any/path/abc.txt

为提取路径,使用

basename函数


"

or

path="/this/is/could/be/any/path/a b c.txt"

file=$(basename "$path")
在路径结束时给出文件名

Edit:

可能值得补充,一个常见的模式是在命令中使用回语引号,例如`basename ...`,因此Unix Shells将执行命令并返回其文本值。
为了将Basename的结果分配给变量,请使用

6
投票

$ x将是文件名。


您可以使用

basename path

您可以使用dirname命令

x=`basename ...path...`
    

您可能会通过此命令打印所有变量(替换为真实接口名称):

2
投票

basename /this/is/could/be/any/path/abc.txt


    


2
投票
最新问题
© www.soinside.com 2019 - 2025. All rights reserved.