| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 1969 人关注过本帖
标题:求怎样把路径抽出来,随便用什么工具,cut, awk, sed, perl, python都可以, ...
只看楼主 加入收藏
madfrogme
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
结帖率:98.63%
收藏
已结贴  问题点数:20 回复次数:10 
求怎样把路径抽出来,随便用什么工具,cut, awk, sed, perl, python都可以,关键是regex 不熟
请教大家,我现在须要抽出一些路径,比如

$ ldd `which ls`
        linux-gate.so.1 =>  (0xb77b1000)
        librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb7792000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7777000)
        libacl.so.1 => /lib/libacl.so.1 (0xb776e000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb7615000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb75fc000)
        /lib/ld-linux.so.2 (0xb77b2000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb75f8000)
        libattr.so.1 => /lib/libattr.so.1 (0xb75f2000)
须要把 => 后面的 路径抽出来,

/lib/tls/i686/cmov/librt.so.1

/lib/libacl.so.1

等等,谁能帮一下帮,awk, sed什么的不熟,先谢了

说具体一点就是只要以 '/' 开头的那一部分

再说具体一些就是如果第一列 或者是第三例有 '/' 则,把路径打印出来




[ 本帖最后由 madfrogme 于 2012-11-1 16:57 编辑 ]
搜索更多相关主题的帖子: 工具 python 
2012-11-01 15:34
madfrogme
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
试了一下,用awk弄出来了,比如
# ldd `which ls`
       linux-gate.so.1 =>  (0xb775a000)
        librt.so.1 => /lib/tls/i686/cmov/librt.so.1 (0xb773b000)
        libselinux.so.1 => /lib/libselinux.so.1 (0xb7720000)
        libacl.so.1 => /lib/libacl.so.1 (0xb7717000)
        libc.so.6 => /lib/tls/i686/cmov/libc.so.6 (0xb75be000)
        libpthread.so.0 => /lib/tls/i686/cmov/libpthread.so.0 (0xb75a5000)
        /lib/ld-linux.so.2 (0xb775b000)
        libdl.so.2 => /lib/tls/i686/cmov/libdl.so.2 (0xb75a1000)
        libattr.so.1 => /lib/libattr.so.1 (0xb759b000)

# ldd `which ls` | awk '{if ($1 ~ /\//) print $1; if($3 ~ /\//) print $3 }'

意思是如果第1例中含有 '/' 则打印,如果第3例含有 '/', 则打印

红色的须要特殊处理,所以 有了上面一行的 $1

[ 本帖最后由 madfrogme 于 2012-11-2 17:36 编辑 ]

The quieter you become, the more you can hear
2012-11-01 16:31
madfrogme
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
最后用 xargs 可以把抽出的路径复制到别处

# ldd `which ls` |awk '{if ($1 ~ /\//) print $1; if($3 ~ /\//) print $3 }' | xargs  -I {} cp {} lib

这是把抽出的路径复制到当前目录下的 lib 目录中

The quieter you become, the more you can hear
2012-11-01 16:42
有容就大
Rank: 16Rank: 16Rank: 16Rank: 16
来 自:东土大唐
等 级:版主
威 望:74
帖 子:9048
专家分:14309
注 册:2011-11-11
收藏
得分:10 
抽取路径? 不懂
这个有什么用啊



梅尚程荀
马谭杨奚







                                                       
2012-11-01 19:31
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:10 
emacs录个脚本就好了
2012-11-01 19:33
madfrogme
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
回复 4楼 有容就大
这个东西本身没什么意义,

只是我想用chroot命令做一个根目录环境的时候一连串操作中的一部分。

比如你让用户登录你的ssh服务器,

却只想让用户运行你觉得没问题的命令,

就要弄一个假的根目录,往里面放你觉得没问题的命令,

所以需要把相应的共享函数也要复制过去!

于是就出现怎样抽出路径更快复制的需要了!手机码字累啊!

The quieter you become, the more you can hear
2012-11-01 22:31
madfrogme
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
等 级:版主
威 望:21
帖 子:1160
专家分:1106
注 册:2009-6-24
收藏
得分:0 
以下是引用zklhp在2012-11-1 20:33:06的发言:

emacs录个脚本就好了

Z版真是让我相信emacs是万能的了

The quieter you become, the more you can hear
2012-11-01 22:37
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
图片附件: 游客没有浏览图片的权限,请 登录注册


实际操作还是挺快的 可惜在gif动画里面显示的真垃圾

我APM250+
2012-11-02 12:15
zklhp
Rank: 20Rank: 20Rank: 20Rank: 20Rank: 20
来 自:china
等 级:贵宾
威 望:254
帖 子:11485
专家分:33241
注 册:2007-7-10
收藏
得分:0 
多说一句 我看过一些emacs的视频教程 感觉也就是那样 确实没啥非常震撼的 除了一些故意弄出来追求视觉效果的 编辑器嘛 本来就是用来用而不是显摆的 总得来是 emacs作为编辑器还是不错的

再说一句 楼主还在用32位的linux么


[ 本帖最后由 zklhp 于 2012-11-2 12:31 编辑 ]
2012-11-02 12:30
pangding
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:北京
等 级:贵宾
威 望:94
帖 子:6784
专家分:16751
注 册:2008-12-20
收藏
得分:0 
以下是引用madfrogme在2012-11-1 22:37:51的发言:

 
Z版真是让我相信emacs是万能的了

你应该相信能用 awk, sed 这种工具能干的事,vim 和 emacs 不可能干不了。单就处理文本的能力来讲,我觉得 vim 比 emacs 还要强。emacs 神在它的定制和扩展能力上了。
2012-11-06 09:51
快速回复:求怎样把路径抽出来,随便用什么工具,cut, awk, sed, perl, python都 ...
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.018878 second(s), 8 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved