Come trovare tutto il link simbolico in PWD che si riferisce a file al di fuori di PWD?Unix.

StackOverflow https://stackoverflow.com/questions/9446571

  •  12-11-2019
  •  | 
  •  

Domanda

Posso trovare tutto il link in DIR per comando:

find . -type l
.

Ma ho bisogno di collegamento che si riferisce solo ai file fuori da PWD. Qualcuno può dire come farlo? Grazie.

È stato utile?

Soluzione

Vorrei fare qualcosa come:

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

readlink -f offre il percorso canonico di un file, quindi il primo comando offre il percorso dei collegamenti e il comando grep esclude i file che iniziano con il percorso corrente.

Se vuoi ricordare quali link indicano questi percorsi, ecco un modo per farlo:

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

L'interruttore -exec è più complicato poiché è necessario visualizzare sia il percorso collegato che il percorso del simbolo.

Altri suggerimenti

Ich farebbe qualcosa come:

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

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top