shell字符截断

basename和dirname工具

basename截取文件路径中的文件名

[root@ggp scripts]# basename /root/scripts/birds/regular_express.txt
regular_express.txt

dirname截取文件路径中的文件路径

[root@ggp scripts]# dirname /root/scripts/birds/regular_express.txt
/root/scripts/birds

不使用外部工具进行字符截断

#   去除从开头匹配成功的最短字符串

##  去除从开头匹配成功的最长字符串

%   去除从结尾匹配成功的最短字符串

%%  去除从结尾匹配成功的最长字符串

*   通配符

[root@ggp scripts]# string=www.baidu.com
[root@ggp scripts]# echo ${string#*.}
baidu.com
[root@ggp scripts]# echo ${string##*.}
com
[root@ggp scripts]# echo ${string%.*}
www.baidu
[root@ggp scripts]# echo ${string%%.*}
www

截取文件名:

[root@ggp scripts]# dir=/root/scripts/birds/regular_express.txt
[root@ggp scripts]# echo ${dir##*/}
regular_express.txt

截取文件路径:

[root@ggp scripts]# dir=/root/scripts/birds/regular_express.txt
[root@ggp scripts]# echo ${dir%/*}
/root/scripts/birds


你可能感兴趣的:(shell)