栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

shell字符截断

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

shell字符截断

如果是文件路径的进行字符截断可以用basename和dirname这两个工具
basename可以从一个文件路径中截一个文件名

$ basename /root/lnmp/lnmp_install.sh
lnmp_install.sh

dirname可以从一个文件路径中截到一个目录路径

$ dirname /root/lnmp/lnmp_install.sh
/root/lnmp

不使用外部工具进行字符截断
bash有自带的功能来对变量进行字符截断,一般使用"#", "##", "%%", "%", "*" 组合来实现。

$ teststring=www.linuxeye.com
$ echo ${teststring#*.}
linuxeye.com
$ echo ${teststring##*.}
com
$ echo ${teststring%.*}
www.linuxeye
$ echo ${teststring%%.*}
www

"#"表示从字符开始部分除去,一旦匹配则立即除去
"##"表示从字符开始部分除去,会搜整个字符串最长的和的匹配来除去
"%"表示从字符结束的部分除去,一旦匹配成公则立即除去
"%%"表示从字符结束的部分开始除去,会搜寻整个字符穿中最长的匹配来除去
"*"统配符

不利用工具取文件名和目录

$ echo ${dir##*/}
lnmp_install.sh
$ echo ${dir%} (与basename相同功能)
在路径中取目录路径: ${path%/*} (与dirname相同功能)
取文件的扩展名: ${path##*.}

Sat Jul 20 15:27:35 CST 2013

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/10341.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号