find . -size +10k -exec ls -lh {} \+
la prima parte di questo è identico a @sputnicks rispondere, e sucesffully trova tutti i file nella directory oltre 10k (non confondere k con K), la mia aggiunta, la seconda parte viene eseguita ls -lh
o ls che li sts (-l) i file di dimensioni leggibili dall'uomo (-h). annulla la h se preferisci. naturalmente il {}
è il file stesso, e il \+
è semplicemente un'alternativa al \;
che in pratica \;
sarebbe ripetere o:
ls -l found.file; ls -l found.file.2; ls -l found.file.3
dove \+
visualizzazione come una dichiarazione o:
ls -l found.file found.file.2 found.file.3
altro su \; vs + con find
Additionaly, è possibile che l'elenco ordinato per dimensione. Che è relativamente facile da realizzare. Avrei a scelta -s
di ls
, così ls -ls
e poi pipe a sort -n
per ordinare numericamente
che diventerebbe:
find . -size +10k -exec ls -ls {} \+ | sort -n
o in ordine inverso aggiungi -r:
find . -size +10k -exec ls -ls {} \+ | sort -nr
infine, il titolo dice find maggiore file nella directory. È possibile farlo collegando il codice a tail
find . -size +10k -exec ls -ls {} \+ | sort -n | tail -1
troverebbe il file più grande nella directory e nelle sue sottodirectory.
nota si potrebbe anche ordinare i file per dimensione usando -S, e negare la necessità di ordinamento. ma per trovare il file più grande che avrebbe bisogno di usare la testa in modo
find . -size +10k -exec ls -lS {} \+ | head -1
il vantaggio di farlo con -S e non sort
è uno, non c'è bisogno di digitare sort -n
e due è anche possibile utilizzare -h
l'opzione di dimensioni leggibili.che è uno dei miei preferiti da usare, ma non è disponibile con versisions precedenti di ls
, ad esempio, abbiamo un vecchio server CentOS 4 sul posto di lavoro che non ha -h
, la prego di estendere su questa questione, o almeno spiegare perché le due soluzioni che sono state pubblicate - e di lavoro, non sono appropriate per il vostro compito. (modifica: aggiunto per favore) – matchew
'ls' non ha opzioni per filtrare l'output per dimensione. Ha un'opzione '--size' (senza argomenti) che stampa le dimensioni di ogni file in blocchi. A proposito, '-size + 10k' sembra una sintassi che viene usata con' find'. – doubleDown
Stack Overflow è un sito per domande di programmazione e sviluppo. Questa domanda sembra essere fuori tema perché non riguarda la programmazione o lo sviluppo. Vedi [Quali argomenti posso chiedere qui] (http://stackoverflow.com/help/on-topic) nel Centro assistenza. Forse [Super User] (http://superuser.com/) o [Unix & Linux Stack Exchange] (http://unix.stackexchange.com/) sarebbe un posto migliore dove chiedere. Vedi anche [Dove posso inserire domande su Dev Ops?] (Http://meta.stackexchange.com/q/134306) – jww