Desidero elencare le directory contenenti le dimensioni dei file comprese in un intervallo. La mia soluzione è di guardare ogni directory e se tutte le sue dimensioni di file sono nell'intervallo, mostrarlo in uscita. Voglio sapere se esiste un modo più semplice per controllare come un interruttore nel comando find o qualsiasi altro comando come questo.Elenca le directory in cui le dimensioni dei file rientrano nell'intervallo
per esempio: l'intervallo = 10 - 20
dir1:
f1 size=12
f2 size= 19
dir2:
f3 size=22
f4 size=11
OUTPUT = dir1
dir2 è escluso perché f3 non rientra nell'intervallo 10-20. dir1 non è escluso, perché tutti i suoi file hanno dimensioni all'interno dell'intervallo.
Prova '' du' e awk'. – Cyrus
Senza commentare se sia meglio "usare' du' e 'awk'", si può certamente farlo con uno pseudo-one-liner che coinvolge 'find':' per dir in dir1 dir2; do [[-z "$ (trova" $ dir "-type f \ (-size -10c -o -size + 20c \) 2>/dev/null)"]] && echo "$ dir"; done'. (Dovresti ottenere 'dir1' come output.) – 4ae1e1
intendi la dimensione totale dei file in una directory o la dimensione di un file? – OznOg