Come trovare tutto il link simbolico in PWD che si riferisce a file al di fuori di PWD?Unix.
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.
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