鱼C论坛

 找回密码
 立即注册
查看: 2786|回复: 1

[技术交流] Shell中expr的用法

[复制链接]
发表于 2016-7-13 17:43:00 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
Shell中的expr命令虽然大家关注的少,但我发现他的作用还是蛮多的,今天拿来分享一下。
match
从字符串开始的位置匹配子串的长度
expr match "$string" '$substring'
expr "$string" : '$substring'
$substring 是一个正则表达式

expr match "$string" '\($substring\)'
expr "$string" : '\($substring\)'
从$string的开始位置提取$substring,$substring是一个正则表达式


index
expr index $string $substring
匹配到子串的第一个字符的位置


提取子串
${string:position}
在string中从位置$position开始提取子串
如果$string 为"*"或"@",那么将提取从位置$position开始的位置参数
${string:position:length}
在string 中从位置$position开始提取$length长度的子串

如果$string参数为"*"或"@",那将最大的提取从$position开始的$length个位置参数
echo ${*:2} # Echo出第2个和后边所有的位置参数
echo ${@:2} # 与前边相同
echo ${*:2:3} # 从第2个开始,Echo出后边3个位置参数


substr
expr substr $string $position $length
在string中从位置$position开始提取$length长度的子串


#
${string#substring}
从$string的左边截掉第一个匹配的$substring
${string##substring}
从$string的左边截掉最后一个个匹配的$substring


%
${string%substring}
从$string的右边截掉第一个匹配的$substring
${string%%substring}
从$string的右边截掉最后一个匹配的$substring


子串替换
${string/substring/replacement}
使用$replacement 来替换第一个匹配的$substring
${string//substring/replacement}
使用$replacement 来替换所有匹配的$substring
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2016-7-16 11:47:34 | 显示全部楼层
额,我自己抢个沙发
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-12-23 02:45

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表