从完整路径字符串中提取文件名

时间:2018-06-07 06:14:58

标签: string bash

假设我有一个代表文件完整路径的字符串:  full_path='./aa/bb/cc/tt.txt'

如何仅提取文件名tt.txt

请不要告诉我使用echo $full_path | cut -d'/' -f 5

因为文件可能位于更深或更浅的文件夹中。

数字5无法在所有情况下应用。

3 个答案:

答案 0 :(得分:0)

如果您对python感到满意,那么您可以使用以下代码。

full_path = "path to your file name"
filename = full_path.split('/')[-1]
print(filename)

答案 1 :(得分:0)

使用参数扩展功能。

 full_path='./aa/bb/cc/tt.txt'
 echo ${full_path%/*}

那会给你输出

 ./aa/bb/cc

并且可以深入处理任意数量的目录级别,因为它将为您提供最终的所有内容" /"。

编辑:参数扩展非常有用,所以这里有一个快速链接,可以很好地概述可能的内容:http://wiki.bash-hackers.org/syntax/pe

答案 2 :(得分:0)

您可以使用此构造

delete a
from test a
left join test b on a.product_id = b.product_id
                 and a.name = b.name
                 and a.id > b.id
where b.product_id is not null