Extract directory path and filename
我有一个变量,它有目录路径和文件名。我想从unix目录路径中单独提取文件名,并将其存储在一个变量中。
1 | fspec="/exp/home1/abc.txt" |
使用basename命令从路径中提取文件名:
1 2 3 4 | [/tmp]$ export fspec=/exp/home1/abc.txt [/tmp]$ fname=`basename $fspec` [/tmp]$ echo $fname abc.txt |
bash获取文件名
1 2 3 | fspec="/exp/home1/abc.txt" filename="${fspec##*/}" # get filename dirname="${fspec%/*}" # get directory/path name |
其他方式
AWK
1 2 | $ echo $fspec | awk -F"/" '{print $NF}' abc.txt |
塞德
1 2 | $ echo $fspec | sed 's/.*\///' abc.txt |
使用IFS
1 2 3 4 | $ IFS="/" $ set -- $fspec $ eval echo \${${#@}} abc.txt |
基=$(basename$fspec)
猛击:
1 2 | fspec="/exp/home1/abc.txt" fname="${fspec##*/}" |
1 2 | echo $fspec | tr"/"" "|tail -1 |
使用bash"here string":
fspec="/exp/home1/abc.txt"
tr"/"""<<<$fspec tail-1
文件名=`tr"/""<<<$fspec tail-1`