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

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

我需要从给定路径中提取文件名,例如/dev/user/test.csv.我需要单独变量中的位置和不同变量中的/dev/user/文件名。 有人可以提出解决方案吗?test.csv

答案1

通常情况下

basename "/dev/user/test.csv" # produce «test.csv»
dirname "/dev/user/test.csv"  # produce «/dev/user»

在某些 shell 中(例如bash)你可以使用变量扩展

var="/dev/user/test.csv"
echo ${var##*/}               # produce «test.csv»
echo ${var%/*}                # produce «/dev/user»

如果/dev/user/test.csv存在,您可以通过简单的技巧来划分您想要的内容:

find /dev/user/test.csv -printf '%h\t%f\n'

相关内容