实例讲解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
例如从../../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
相关文章推荐
- 实例讲解3--sed命令e
- sed 命令讲解加实例!!
- 实例讲解3--sed命令g
- 实例讲解3--sed命令h
- 实例讲解3--sed命令a
- 实例讲解3--sed命令b
- 实例讲解3--sed命令c
- sed 命令讲解加实例!!
- 实例讲解3--sed命令d
- 收集整理比较全 shell sed 命令与实例教程
- Linux Wget 命令实例讲解
- 实例讲解设计模式中的命令模式在iOS App开发中的运用
- mysql drop database删除数据库命令实例讲解
- sed命令实例
- mysql desc(DESCRIBE)命令实例讲解
- 实例讲解5--其他命令b
- adb文件管理命令操作实例讲解
- Linux中sed和awk命令比较实例
- sed命令详解和实例
- sed命令详解及应用实例