- 论坛徽章:
- 0
|
本帖最后由 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之间的字符串。
个人认为这种方法在处理字符上面非常之简便且有用。
可能以上的一些方法大家都知道,所以我也懒得写示例了,大家自己去试吧。 |
|