Show 150 posts per page |
.dsy:it. (http://www.dsy.it/forum/)
- Sistemi operativi I (http://www.dsy.it/forum/forumdisplay.php?forumid=269)
-- [esercizio shell] (http://www.dsy.it/forum/showthread.php?threadid=43803)
[esercizio shell]
Sono alle prese con questo esercizio:
trovare l'utente con il maggior numero di file sul sistema
che mi sembrava fattibilissimo ma mi sta mandando in crisi.
Io lo risolverei così:
NFILE=0
for USER in $(cut /etc/passwd -d : -f 1)
do
FILE=$(find / -type f -user $USER | wc -l)
if (($FILE > $NFILE))
then
NFILE=$FILE
NUSER=$USER
fi
done
echo "L'utente $USER ha il maggior numero di file sul sistema, pari a $NFILE"
Ma mi da errore..qualche idea su cosa c'è di sbagliato?
Secondo me stai sbagliando sintassi nella condizione dell'if! guarda qui http://stackoverflow.com/questions/...thmetic-in-bash
Lo pensavo anche io, però provando a testare solamente l'if con le ((..)) funzionava
Alla fine ho optato per questa soluzione:
NFILE=0
for USER in $(cut /etc/passwd -d : -f 1)
do
FILE=$(find / -type f -user $USER | wc -l)
if [ $FILE -gt $NFILE ]
then
NFILE=$FILE
NUSER=$USER
fi
done
echo "L'utente $USER ha il maggior numero di file sul sistema, pari a $NFILE"
ma aspetta: che errore ti dava?
aaa non mi ricordo purtroppo.
Ma va beh, ormai il laboratorio è andato
mi sapete dire come si risolve questo esercizio:
copiare tutti i file da /usr/bin nella directory corrente cambiando l'estensione da .h a .bak??
Originally posted by rogerino
mi sapete dire come si risolve questo esercizio:
copiare tutti i file da /usr/bin nella directory corrente cambiando l'estensione da .h a .bak??
code:
cp -r /usr/bin /tmp/_bin; for FILENAME in $(find /tmp/_bin -type f|egrep "\.h$"); do mv $FILENAME $(echo $FILENAME|sed -r "s/\.h$/.bak/"); done; cp -r /tmp/_bin/* .
All times are GMT. The time now is 02:18. | Show all 7 posts from this thread on one page |
Powered by: vBulletin Version 2.3.1
Copyright © Jelsoft Enterprises Limited 2000 - 2002.