Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Nioh 3: souls-like punitivo e Action RPG
Nioh 3: souls-like punitivo e Action RPG
Nioh 3 aggiorna la formula Team NINJA con aree esplorabili più grandi, due stili di combattimento intercambiabili al volo (Samurai e Ninja) e un sistema di progressione pieno di attività, basi nemiche e sfide legate al Crogiolo. La recensione entra nel dettaglio su combattimento, build, progressione e requisiti PC
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti
La facilità di installazione e la completa automazione di tutte le fasi di utilizzo, rendono questo prodotto l'ideale per molti clienti. Ecco com'è andata la nostra prova in anteprima
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto
be quiet! debutta nel settore mouse da gaming con Dark Perk Ergo e Dark Perk Sym: due modelli gemelli per specifiche, con polling rate di 8.000 Hz anche in wireless, sensore PixArt PAW3950 da 32.000 DPI e autonomia dichiarata fino a 110 ore. Nel test, a 8.000 Hz si arriva a circa 30 ore reali, con ricarica completa in un'ora e mezza
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


Nioh 3: souls-like punitivo e Action RPG Nioh 3: souls-like punitivo e Action RPG
Test in super anteprima di Navimow i220 LiDAR: il robot tagliaerba per tutti Test in super anteprima di Navimow i220 LiDAR: i...
Dark Perk Ergo e Sym provati tra wireless, software via browser e peso ridotto Dark Perk Ergo e Sym provati tra wireless, softw...
DJI RS 5: stabilizzazione e tracking intelligente per ogni videomaker DJI RS 5: stabilizzazione e tracking intelligent...
AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequenze al top per il gaming AMD Ryzen 7 9850X3D: Zen 5, 3D V-Cache e frequen...
Oggi gli iPhone 17 e 17 Pro da 256GB son...
Il telescopio XRISM ha osservato i raggi...
Il telescopio spaziale James Webb ha sco...
Logitech G325: audio di fascia alta, wir...
Nessuna pubblicità su Claude, per...
Gli stipendi nel settore tech? Sono anco...
Problemi con la stampa 3D? Un prompt per...
Amazon Leo amplia i contratti con SpaceX...
Basta Purefication, il Giurì bloc...
LibreOffice 26.2 migliora prestazioni e ...
La Cina si prepara a un test della capsu...
La NASA rende note alcune informazioni a...
ASUS ExpertCenter PN54: mini PC Copilot+...
Geely userà una fabbrica europea ...
Leica Camera tratta la cessione della ma...
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: 07:24.


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