2

コマンドでディレクトリ内のすべてのリンクを見つけることができます:

find . -type l

しかし、PWD 以外のファイルのみを参照するリンクが必要です。誰がそれを行う方法を言うことができますか? ありがとう。

4

2 に答える 2

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 に答える
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 に答える