如何在PWD中找到所有涉及PWD外部文件的符号链接? UNIX

时间:2012-02-25 18:05:45

标签: shell unix hyperlink pwd

我可以通过命令在dir中找到所有链接:

find . -type l

但是我需要的链接只能引用PWD以外的文件。 任何人都可以说怎么做? 感谢。

2 个答案:

答案 0 :(得分:1)

我会做类似的事情:

find . -type l -exec readlink -f '{}' \; | grep -v "^`readlink -f ${PWD}`"

readlink -f为您提供文件的规范路径,因此第一个命令为您提供链接路径,grep命令排除以当前路径开头的文件。

如果你想记住哪些链接指向这些路径,可以采用以下方法:

find . -type l -exec sh -c 'echo $(readlink -f "{}") "<-- {}"' \; \
  | grep -v "^$(readlink -f ${PWD})"

-exec开关更复杂,因为您必须同时显示链接路径和符号链接的路径。

答案 1 :(得分:1)

Ich会做类似的事情:

for link in `find . -type l`; do X=$(dirname `readlink $link`); if [ $X != '.' ]; then echo $link; fi ; done