免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 6081 | 回复: 5
打印 上一主题 下一主题

小贴士: 左右逢源操纵strings  关闭 [复制链接]

论坛徽章:
1
荣誉会员
日期:2011-11-23 16:44:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2005-12-12 13:36 |只看该作者 |倒序浏览
对字符串的操纵有很多方法,我就不多说了,这几天在读bash的guide,发现了一个有意思的,(或许大家都知道,我还是发出来,就算灌水吧 )

  1. # Is it possible to index from the right end of the string?
  2.    
  3. echo ${stringZ:-4}                           # abcABC123ABCabc
  4. # Defaults to full string, as in ${parameter:-default}.
  5. # However . . .

  6. echo ${stringZ:(-4)}                         # Cabc
  7. echo ${stringZ: -4}                          # Cabc
  8. # Now, it works.
  9. # Parentheses or added space "escape" the position parameter.

  10. # Thank you, Dan Jacobson, for pointing this out.
复制代码

我们知道,对string的从左到右的操作很简单,这个tips讲的是从右到左如何操作,我作了几个实验,感到确实很有 意思 大家感兴趣的可以玩玩!

论坛徽章:
0
2 [报告]
发表于 2005-12-12 14:04 |只看该作者

up

学习,

论坛徽章:
0
3 [报告]
发表于 2005-12-12 14:39 |只看该作者
从来没有做过什么贡献,就算给烈火大哥顶一下吧:
ksh
${var#pattern} 从变量的左端移走匹配模式,之后返回var的值,移走的是最短的匹配块。
${var##pattern} 从变量的左端移走匹配模式,之后返回var的值,移走的是最长的匹配块。
${var%pattern} 从变量的右端移走匹配模式,之后返回var的值,移走的是最短的匹配块。
${var%%pattern} 从变量的右端移走匹配模式,之后返回var的值,移走的是最长的匹配块。

tail="${PWD##*/}"可以看看结果

论坛徽章:
0
4 [报告]
发表于 2008-04-28 17:05 |只看该作者
不错有时候真的需要从右边处理的

论坛徽章:
0
5 [报告]
发表于 2008-04-28 17:17 |只看该作者
${a:-value}#check $a  is set  or unset
${a: pos1:post2}
if value is  a number then it will be An instance of being confused
lz'work  was to prevent this

论坛徽章:
0
6 [报告]
发表于 2008-08-20 10:17 |只看该作者
不错不错,学习ing.
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP