2

我可以通过命令找到目录中的所有链接:

find . -type l

但我需要只引用 PWD 之外的文件的链接。有人可以说怎么做吗?谢谢。

4

2 回答 2

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因为您必须同时显示链接路径和符号链接的路径。

于 2012-02-25T18:31:33.847 回答
1

我会做类似的事情:

for link in `find . -type l`; do X=$(dirname `readlink $link`); if [ $X != '.' ]; then echo $link; fi ; done
于 2012-02-25T18:42:53.303 回答