1. 获取文件名(带后缀):basename
File=/dir1/dir2/dir3/a.b.c.txt
basename $File
结果为:a.b.c.txt
2. 获取文件名(不带后缀):basename
File=/dir1/dir2/dir3/a.b.c.txt
echo $(basename $File .txt)
结果为:a.b.c
3. 获取路径(不包含文件名):dirname
File=/dir1/dir2/dir3/a.b.c.txt
dirname $File
结果为:/dir1/dir2/dir3
4. 获取查找字符右侧字符串:
${var#*/} 解析:左起,找到第一个'/'字符,返回其后面的内容(不含'/')
${var##*/} 解析:左起,找到最后一个'/'字符,返回其后面的内容(不含'/')
${var%/*} 解析:右起,找到第一个'/'字符,返回其前面的内容(不含'/')
${var%%/*} 解析:右起,找到最后一个'/'字符,返回其前面的内容(不含'/')
var='/dir1/dir2/dir3/a.b.c.d'
echo ${var##*/}
结果为:a.b.c.d
获取文件后缀的例子:
var='/dir1/dir2/dir3/a.b.c.d'
echo ${var##*.}
结果为:d
----------------------------------------------------------------------------------------
#代表左起,%代表右起
两个符号代表最后一个字符,一个符号代表第一个字符
#:左起第一个
##: 左起最后一个
%:右起第一个
%%:右起最后一个
----------------------------------------------------------------------------------------