我需要从给定的路径中提取文件名,例如/dev/user/test.csv. 我需要/dev/user/在不同变量中的单独变量和文件名test.csv中的位置。
有人可以提出解决方案吗?
一般
basename "/dev/user/test.csv" # produce «test.csv»
dirname "/dev/user/test.csv" # produce «/dev/user»
Run Code Online (Sandbox Code Playgroud)
在某些 shell 中(例如basheg),您可以使用变量扩展
var="/dev/user/test.csv"
echo ${var##*/} # produce «test.csv»
echo ${var%/*} # produce «/dev/user»
Run Code Online (Sandbox Code Playgroud)
如果/dev/user/test.csv存在,您可以通过简单的技巧来划分您想要的内容:
find /dev/user/test.csv -printf '%h\t%f\n'
Run Code Online (Sandbox Code Playgroud)