Chinaunix

标题: 其他一些字符串截取方法 [打印本页]

作者: xiaopan3322    时间: 2010-08-20 23:06
标题: 其他一些字符串截取方法
本帖最后由 xiaopan3322 于 2010-08-23 21:27 编辑

看了这篇文章“怎么截取全文件名的扩张子”之后才发的这个贴(这个“扩张子”的说法真让我长见识了,嘿嘿)。。。
当然啦,字符串截取可以用sed,cut啥啊啥的,
不过除了这些,还有其他一些方法(我指的是第II部分的):
e.g:
I:Linux shell 截取字符变量的前5位,有方法如下:
1.expr substr “$a” 1 8
2.echo $a | awk ‘{print substr(,1,}’
3.echo $a | cut -c1-8
4.echo $
5.expr $a : ‘\(.\\).*’
6.echo $a | dd bs=1 count=8 2>/dev/null
......
......


II:
除了上面的,还有按指定的字符串截取:
1,
${varible##*string}     ---   从左向右截取最后一个string后的字符串
${varible#*string}       ---   从左向右截取第一个string后的字符串
${varible%%string*}   ---   从右向左截取最后一个string后的字符串
${varible%string*}      ---   从右向左截取第一个string后的字符串
“*”只是一个通配符可以不要
2,
${varible:n1:n2}:        ---   截取变量varible从n1到n2之间的字符串。
个人认为这种方法在处理字符上面非常之简便且有用。

可能以上的一些方法大家都知道,所以我也懒得写示例了,大家自己去试吧。
作者: bbgg1983    时间: 2010-08-20 23:09
  1. 1.expr str “$a” 1 8
  2. 2.echo $a | awk ‘{print str(,1,8)}’
复制代码
这两个估计不行
作者: xiaopan3322    时间: 2010-08-20 23:14
回复 2# bbgg1983


    sorry,
是substr
嘿嘿
作者: 好看的附件    时间: 2010-08-20 23:15
回复 1# xiaopan3322


    expr我用的不多。。学习了、、
作者: howge    时间: 2010-08-23 17:40
好贴 学习了
作者: cocowool    时间: 2010-09-25 17:51
回复 1# xiaopan3322


学习了~~
作者: compare2000    时间: 2011-01-27 11:43
haha
学习了




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2