毕业论文开发语言企业开发JAVA技术.NET技术WEB开发Linux/Unix数据库技术Windows平台移动平台嵌入式论文范文英语论文
您现在的位置: 毕业论文 >> linux >> 正文

shell字符处理把/取消

更新时间:2012-10-18:  来源:毕业论文

比如有路径 /home/hello/ ,我想处理成 /home/hello ,sed中有什么方法呢,shell中有没有类似endwith("/")之类的函数或者数组下标移动的函数可用呢?

echo "/home/hello/" | sed -e 's:/$::'
shell可以结合awk进行substr,按照lz的要求,只是需要删除最后一个字符“/”
如:
#dir=/home/hello/
#subdir=`echo $dir | awk '{print substr($1,1,length($1)-1)}'`
#echo ${subdir}
/home/hello

如果要做的扩展性好点,就在前天加上判断,如:

dir=/home/hello/ #这里的dir可以运动会加油稿 使用外面传入的参数值
flag=`echo $dir | awk '{print substr($1,length($1),1)}'`
if [ "$flag" = "/" ]
then
subdir=`echo $dir | awk '{print substr($1,1,length($1)-1)}'`
else
subdir=$dir
fi

echo $subdir

执行结果:
#dir=/home/hello
#flag=`echo $dir | awk '{print substr($1,length($1),1)}'`
#if [ "$flag" = "/" ]
> then
> subdir=`echo $dir | awk '{print substr($1,1,length($1)-1)}'`
> else
> subdir=$dir
> fi
#echo $subdir
/home/hello

----------
#dir=/home/hello
#flag=`echo $dir | awk '{print substr($1,length($1),1)}'`
#if [ "$flag" = "/" ]
> then
> subdir=`echo $dir | awk '{print substr($1,1,length($1)-1)}'`
> else
> subdir=$dir
> fi
#echo $subdir
/home/hello

设为首页 | 联系站长 | 友情链接 | 网站地图 |

copyright©youerw.com 优尔论文网 严禁转载
如果本毕业论文网损害了您的利益或者侵犯了您的权利,请及时联系,我们一定会及时改正。