LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 922|回复: 8

能否使用$PATH搜索对应目录中的某个文件?

[复制链接]
发表于 2008-2-19 23:22:00 | 显示全部楼层 |阅读模式
find $PATH -name <file>不行啊,有没有办法?
发表于 2008-2-20 12:09:26 | 显示全部楼层
试试

  1. find $( echo $PATH | sed 's/:/ /g' ) -name <file>
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-2-20 20:57:48 | 显示全部楼层
remote fish是个高人阿~~
回复 支持 反对

使用道具 举报

 楼主| 发表于 2008-2-21 00:04:24 | 显示全部楼层
很好很强大!
回复 支持 反对

使用道具 举报

发表于 2008-2-21 09:02:10 | 显示全部楼层
......其实没有楼上二位想的那么复杂的
回复 支持 反对

使用道具 举报

发表于 2008-2-21 10:52:25 | 显示全部楼层
remote 接招~~

这样写是不是更简单?呵呵~
echo $PATH | tr ':' ' '
我想通过grep 或者awk ,怎么实现同样的功能?

PS:我自己还没想出来.也只想到了sed.不过有个感觉.grep和awk也能实现.
回复 支持 反对

使用道具 举报

发表于 2008-2-21 12:20:09 | 显示全部楼层
tr 当然可以呀. 当时用 sed 只是考虑到知道 sed 的人比知道 tr 的人多的多, 便于理解

grep 是用于模式匹配, 而不是替换的, 因此它不行

awk 是必然可以的, 不过我不会

只用 bash 也可以的的

  1. find ${PATH//:/ } -name <file>
复制代码
回复 支持 反对

使用道具 举报

发表于 2008-2-21 18:32:37 | 显示全部楼层
果然。。被你打败了~~~

强阿!!

bash本身的替换我还是刚刚百度才学会的
回复 支持 反对

使用道具 举报

发表于 2008-2-21 19:02:50 | 显示全部楼层
Post by casio1374633;1818661
果然。。被你打败了~~~

强阿!!

bash本身的替换我还是刚刚百度才学会的


百度学 shell ……,被你打败了。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表