Come posso trovare un file con il percorso più lungo su macOS?


0

Sto cercando di eseguire il debug di un problema con il mio strumento di backup Backblaze, da qualche parte ho un file con un percorso molto lungo che devo individuare. Quale comando terminale posso usare per trovare il file con il nome del percorso completo più lungo o elencare qualcosa come i primi 10 file con nome lungo?

Risposte:


2

Il seguente comando dovrebbe fare il lavoro: -

find /DirHead|while read -r f; do echo $(wc -c <<<$f): $f; done|sort -n|tail -n 1

Dopo il commento di Gordon Davisson, c'è un'alternativa più ordinata: -

find /DirHead | awk '{print length($0), $0}' | sort -n | tail -n 1

Puoi impostarlo /DirHeadsu /, ma questo sarà molto lento, quindi se hai un'idea di dove risiederà questo lungo percorso, accelererai le cose se lo usi.

Questo non seguirà i collegamenti simbolici: se vuoi farlo dovrai aggiungere opzioni a find.

Per ogni file wc -cconta il numero di byte nel nome del file dall'input standard e questo conteggio viene emesso con il nome del file; l'ultima riga di un ordinamento numerico sarà quindi la più lunga o tail -n 10elencherà le 10 più lunghe.

Ho provato questo su Ubuntu, non avendo un facile accesso a OS / X.


Puoi accelerarlo sostituendo il while readloop con awk '{print length($0), $0}'. A proposito, ho provato (sia il while reade awkvarianti) su MacOS e funziona anche lì.
Gordon Davisson,

@GordonDavisson - Grazie, è molto più ordinato.
AFH,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.