<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>https://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>https://jackxiang.com/post//</link>
<title><![CDATA[Shell常用处理字符串方法]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Mon, 07 Dec 2009 07:44:39 +0000</pubDate> 
<guid>https://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	在写shell脚本的时候遇到了一个问题，对于下面这个字符串，想把后面从/local开始截取出来。<br/>/work/lib-optimizer/test/local/lib/libcrypto.so.0.9.8<br/>请教同事，知道了一个方法，可以用cut命令，如上面我需要将从local开始的路径截取出来，就可以如下操作<br/>path=/work/lib-optimizer/test/local/lib/libcrypto.so.0.9.8<br/>echo $path &#124; cut -b25-<br/>可是这样，我就得一个个的数要截掉多少个，前面一变动，又得数，呵呵。。。让我想起了初学数学是用手指头数数的时候了 :P 。这样对我现在这种情况来讲不方便，所以网上搜搜，搜到了下面这个小技巧，网上的都没有例子，而且有的说的还不准确，实验了几次才找到正确的。在这里顺便带上个例子。<br/>${varible##*string} 从左向右截取最后一个string后的字符串<br/>${varible#*string}从左向右截取第一个string后的字符串<br/>${varible%%string*}从右向左截取最后一个string后的字符串<br/>${varible%string*}从右向左截取第一个string后的字符串<br/>“*”只是一个通配符可以不要<br/>例子如下：<br/>[xiangyu@localhost ~]$ a=&quot;finding&quot;<br/>[xiangyu@localhost ~]$ echo ${a##*in}<br/>g<br/>[xiangyu@localhost ~]$ echo ${a#*in}<br/>ding<br/>[xiangyu@localhost ~]$ echo ${a%%in*}<br/>f<br/>[xiangyu@localhost ~]$ echo ${a%in*}<br/>find<br/><br/>好了，为了让这个字符串截取完整些，把另外些方法也一并贴出来吧！<br/>一、Linux shell 截取字符变量的前8位，有方法如下：<br/>1.expr substr “$a” 1 8<br/>2.echo $a&#124;awk ‘{print substr(,1,8)}’<br/>3.echo $a&#124;cut -c1-8<br/>4.echo $<br/>5.expr $a : ‘&#92;(.&#92;&#92;).*’<br/>6.echo $a&#124;dd bs=1 count=8 2&gt;/dev/null<br/><br/>二、按指定的字符串截取<br/>上面带例子的是第一种方法。<br/>还有一种方法：${varible:n1:n2}:截取变量varible从n1到n2之间的字符串。<br/>可以根据特定字符偏移和长度，使用另一种形式的变量扩展，来选择特定子字符串。试着在 bash 中输入以下行：<br/>$ EXCLAIM=cowabunga<br/>$ echo ${EXCLAIM:0:3}<br/>cow<br/>$ echo ${EXCLAIM:3:7}<br/>abunga<br/>这种形式的字符串截断非常简便，只需用冒号分开来指定起始字符和子字符串长度。<br/><br/>三、按照指定要求分割：<br/>比如获取后缀名<br/>ls -al &#124; cut -d “.” -f2<br/><br/>http://www.bsdlover.cn/html/25/n-3225.html
]]>
</description>
</item><item>
<link>https://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] Shell常用处理字符串方法]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>https://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>