Linux shell 获取变量部分路径、文件名、文件后缀
以 make 文件为例:
一、路径拆分:
file=/usr/bin/make
[root@CentOs7]# echo ${file%*/}
/usr/bin/make
[root@CentOs7]# echo ${file%%*/}
/usr/bin/make
[root@CentOs7]# echo ${file%%/*}
[root@CentOs7]# echo ${file%/*}
/usr/bin
[root@CentOs7]# echo ${file#/*}
usr/bin/make
[root@CentOs7]# echo ${file##/*}
输出空内容
[root@CentOs7]# echo ${file##*/}
make
[root@CentOs7]# echo ${file#*/}
usr/bin/make
file=/usr/share/man/man1/make.1.gz
[root@CentOs7]# echo ${file%*/}
/usr/share/man/man1/make.1.gz
[root@CentOs7]# echo ${file%%*/}
/usr/share/man/man1/make.1.gz
[root@CentOs7]# echo ${file%%/*}
[root@CentOs7]# echo ${file%/*}
/usr/share/man/man1
[root@CentOs7]# echo ${file#/*}
usr/share/man/man1/make.1.gz
[root@CentOs7]# echo ${file##/*}
输出空内容
[root@CentOs7]# echo ${file##*/}
make.1.gz
[root@CentOs7]# echo ${file#*/}
usr/share/man/man1/make.1.gz
二、文件名拆分
file=make.tar.gz
echo ${file%.*}
make.tar
echo ${file%%.*}
make
echo ${file%*.}
make.tar.gz
echo ${file%%*.}
make.tar.gz
echo ${file#.*}
make.tar.gz
echo ${file##.*}
make.tar.gz
echo ${file#*.}
tar.gz
echo ${file##*.}
gz
输出空内容
浙公网安备 33010602011771号