实例讲解3--sed命令g

69 篇文章 0 订阅

22.dirname或参数扩展提取目录名

        例如从$0参数中提取运行的路径:从../../etc/passwd/得到../../etc,从/etc/passwd得到/etc

       方法一:dirname

           c_path=$0

           c_path=`dirname $c_path`

注:如果没有路径,则c_path得到为单字符”.”。所以,判断是否在当前路径执行可以使用条件 “-$c_path” = “-.”

       方法二(参数扩展在基本sh下不支持):

           c_path=$0

           c_path=’${0%/*}’

注:如果没有路径,则c_path得到为文件名,即$0。所以,判断是否在当前路径执行可以使用条件 “-$c_path” = “-$0”

 

    23.grep,sed获取文件的扩展名

例如从../../home/file.c得到c

       方法一:

           file=$1

           #得到最后一级文件名 ,如file.c

file=`basename$file`

#如果文件名中不含有.,则表示没有后缀

if[ 1 -gt `echo $file | grep -c '\.'` ]; then

    echo "no extion"

else

    #过滤掉最后一个.以及之前的所有字符,得到扩展名

    echo `echo $file  | sed "s/.*\.//g" `

fi

       方法二:(参数扩展在基本sh下不支持)

           file=$1

           #得到最后一级文件名 ,如file.c

file=`basename $file`

#从file的尾部开始删除匹配.*(一个.后跟若干字符)的最小部分并返回剩余部分

           echo  "${file%.*}"  

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值