Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa
La seconda generazione della citycar elettrica di Dacia passa alla piattaforma RGEV small di Renault Group, cresce di 15 cm in lunghezza e 18 cm in larghezza, adotta un motore da 80 CV e una batteria LFP da 27,5 kWh per 250 km WLTP. Prezzi da 17.900 euro, produzione a Novo Mesto in Slovenia.
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone
BOOX ha portato sul mercato Picco, un e-reader da 3,97 pollici che pesa 58 grammi e si aggancia al retro dello smartphone con un anello magnetico. Lo abbiamo usato con Pixel 11 Pro XL e iPhone 18 Pro per capire se un formato così ridotto regga la prova della lettura quotidiana
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria
A Las Vegas AMD ha svelato i dettagli architetturali delle CPU EPYC di sesta generazione, note con il nome in codice Venice. Nuovi core Zen 6 e Zen 6c costruiti a 2 nanometri, fino a 256 core per socket, 16 canali di memoria, interfaccia PCI Express 6.0 e un'intera famiglia di proposte che va da Venice SP7 a Verano. Senza dimenticare la memoria, oggi la voce di costo più pesante in un server: AMD risponde con CXL 3.1 e con la tecnologia software MEXT, che porta la memoria flash dentro la gerarchia della DRAM.
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 14-09-2006, 19:16   #1
]DaLcA[
Senior Member
 
L'Avatar di ]DaLcA[
 
Iscritto dal: Jun 2004
Città: Isola di Toscana in Lombardia
Messaggi: 660
[BASH] scremare file e cartelle in base alla dimensione: si può con awk?

Come da titolo, dovrei effettuare una ricerca scremando i risultati (tra le varie altre cose, che so fare) in base alla dimensione. Per i file non c'è problema, il comando find considera già quest'opzione, che però non funziona per le cartelle.

Sbattendo la testa e cercando in rete, il modo più semplice è usare il comando awk, ad esempio:

Codice:
find /tmp/ -exec du -sb {} \; | awk '{if ($1 > 0 && $1 < 10000) print $2}'
Nota: per semplicità ho deciso di usare il du con la find anche per i file (senza quindi l'opzione -type d).

Beh, da console funziona tutto perfettamente, solo che io ho bisogno di metterlo in uno script. Ecco, mi sono accorto che non posso passare i miei argomenti nel codice dell'awk (per colpa degli apici singoli, credo), quindi non posso dargli i limiti per la dimensione, ad esempio:

Codice:
#!/bin/bash

PERCORSO="$1"
DIM_MIN="$2"
DIM_MAX="$3"

find $PERCORSO -exec du -sb {} \; | awk '{if ($1 > "$DIM_MIN" && $1 < "$DIM_MAX") print $2}'

Ora non so proprio come fare, qualcuno ha in mente qualcosa in proposito? Altri metodi per scremare le cartelle in base alla dimensione sono più che ben accetti
]DaLcA[ è offline   Rispondi citando il messaggio o parte di esso
Old 15-09-2006, 10:40   #2
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
non conosco molto awk ma una cosa così potrebbe andare?

#!/bin/bash

PERCORSO="$1"

find $PERCORSO -exec du -sb {} \; | awk -v DIM_MIN="$2" -v DIM_MAX="$3" '{if ($1 > DIM_MIN && $1 < DIM_MAX) print $2}'
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2006, 10:24   #3
]DaLcA[
Senior Member
 
L'Avatar di ]DaLcA[
 
Iscritto dal: Jun 2004
Città: Isola di Toscana in Lombardia
Messaggi: 660
Alla fine ho risolto (per pura fortuna). Ecco il codice -- attenzione agli apici singoli --:

Codice:
#!/bin/bash

PERCORSO="$1"
DIM_MIN="$2"
DIM_MAX="$3"

find $PERCORSO -exec du -sb {} \; | awk '{if ($1 > '$DIM_MIN' && $1 < '$DIM_MAX') print $2}'
Così funziona


@kingv : non avevo visto che col parametro -v si possono assegnare i valori dei parametri a variabili prima dell'inizio del codice. Però credo che l'esempio che hai fatto tu non funzioni perchè nel manuale è scritto che il valore delle variabili è disponibile solo nel blocco BEGIN del codice di awk, quindi bisogna mettere il BEGIN.

Grazie lo stesso
]DaLcA[ è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2006, 12:12   #4
kingv
Senior Member
 
L'Avatar di kingv
 
Iscritto dal: Jan 2001
Città: Milano
Messaggi: 5707
sono contento che abbia risolto ma funzionava anche come te l'ho indicato io, ho provato
kingv è offline   Rispondi citando il messaggio o parte di esso
Old 17-09-2006, 12:19   #5
]DaLcA[
Senior Member
 
L'Avatar di ]DaLcA[
 
Iscritto dal: Jun 2004
Città: Isola di Toscana in Lombardia
Messaggi: 660
Umm... credevo che per il tuo esempio fosse necessario il blocco BEGIN come indicato nel man, ma è meglio così Terrò a mente il tuo metodo, che è certamente più corretto del mio

Ora resta "solo" il problema dell'altro thread
]DaLcA[ è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Nuova Dacia Spring, del modello precedente resta solo il nome: più grande, più efficiente e ora prodotta in Europa Nuova Dacia Spring, del modello precedente resta...
BOOX Picco: l'ebook reader minuscolo è una genialata, e si può attaccare allo smartphone BOOX Picco: l'ebook reader minuscolo è un...
AMD EPYC Venice: dentro Zen 6, i SoC a 256 core e la sfida al costo della memoria AMD EPYC Venice: dentro Zen 6, i SoC a 256 core ...
HONOR Pad X9 Max recensione, schermo ultra large a meno di 400 euro HONOR Pad X9 Max recensione, schermo ultra large...
Lenovo ThinkPad X1 Carbon Gen 14: il business ultraleggero si rinnova dall’interno Lenovo ThinkPad X1 Carbon Gen 14: il business ul...
SpaceX ha lanciato la missione Flight 15...
NVIDIA cerca il successore di Jensen Hua...
La CNSA annuncia la missione Tianwen-4 v...
Una valanga di wafer e memorie incombe s...
Microsoft 365, miglioramenti dopo il dow...
Un'IA attacca la tua azienda, ma per dif...
TSMC investe 1 miliardo di dollari in Op...
Niente più risposte IA nelle ricerche: M...
Allarmi bomba nelle scuole, il Viminale:...
OpenAI incassa 10 miliardi in tre mesi, ...
Continua il Black Friday Engwe: sconto e...
OnePlus 12 riceve Android 17 con una set...
Troppe patch generate dall'IA: anche chi...
Comprata e spenta il giorno dopo: cos'er...
Google lancia Tabletop, l'IA che trasfor...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 01:30.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v