您的位置:首页 > 其它

实例讲解3--sed命令f

2012-03-30 10:47 288 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: