关闭

实例讲解3--sed命令f

154人阅读 评论(0) 收藏 举报

21.sed提取最后一个目录名和程序名

例如从../../etc/passwd或者/etc/passwd得到passwd

方法一:使用临时文件

#得到当前路径,输出到a文件

      pwd >a

      #读取a文件,过滤首字母/和尾字母/,将结果输出到b文件

sed's/^\///g' a  | sed ‘s/\/$//g’ >b

    while fgrep \/ b

do

#读取b文件,过滤首字符串xxxx/,将结果输出到a文件

sed's/^[a-zA-Z0-9]*\///g' b >a

#将a文件拷贝到b文件

    cp -f a b

done

rm –f a

rm –f b

 

方法二:使用变量(优于文件形式)

           c_path=`pwd`

           #过滤首字母/和尾字母/

c_path=`echo $c_path | sed 's/^\///g'  | sed ‘s/\/$//g’ `

while [ `echo$c_path | grep -c '\/'` -gt 0  ]

do

c_path=`echo $c_path | sed 's/^[a-zA-Z0-9_.]*\///g'`

done

echo$cur_path

方法三:使用basename命令

           c_path=`pwd`

           c_path=`basename $c_path`

       注:参数扩展见五.5

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:26002次
    • 积分:890
    • 等级:
    • 排名:千里之外
    • 原创:79篇
    • 转载:1篇
    • 译文:0篇
    • 评论:1条
    最新评论