Torna indietro   Hardware Upgrade Forum > Software > Linux, Unix, OS alternativi

Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve
Dopo quasi un mese di utilizzo quotidiano e un viaggio medio-lungo in autostrada, raccontiamo pregi e limiti della Geely EX5: comfort premium, batteria LFP da 60,22 kWh, autonomia fino a 430 km e un prezzo che parte da 38.900 €
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare
Mova Z70 Ultra Complete è un robot aspirapolvere che coniuga un'aspirazione potente e un lavaggio con rullo a logica di intelligenza artificiale che guida al meglio nella pulizia di casa: rulli e spazzole estensibili a pulire gli angoli e una base di ricarica che lava e ripristina il robot al emglio delle sue funzionalità dopo ogni azione di pulizia
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre
Abbiamo provato Google Pixel 11, il più accessibile della nuova gamma: chip Tensor G6 condiviso con i modelli Pro, fotocamera 48 MP con Magic Capture e Stili Fotografici, display Actua da 3000 nit e batteria da 4985 mAh. Ecco come si comporta nell'uso quotidiano, e cosa cambia davvero rispetto a Pixel 11 Pro e Pro XL
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 02-09-2009, 16:34   #1
Janky
Senior Member
 
L'Avatar di Janky
 
Iscritto dal: Feb 2004
Città: Lecco/Milano
Messaggi: 2863
problema con grep e top

Ciao a tutti,

devo scrivere uno scriptino che ogni tot secondi scriva in un file l'ora corrente e l'uso di cpu

se scrivo
Codice:
top | grep Cpu
mi stampa sta roba
Codice:
Cpu(s):  0.1%us,  0.1%sy,  0.0%ni, 98.5%id,  1.0%wa,  0.0%hi,  0.2%si,  0.0%st
a me serve solo il primo valore, quindi aggiungo un cut dopo in sto modo

Codice:
top | grep Cpu | cut -b 10-14
ma così non mi stampa più nulla! dove sbaglio??
__________________
C'era un moscerino sul tuo schermo
Janky è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 20:52   #2
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Codice:
w -u | cut -sd, -f4,6,8
Esempio di output:
Codice:
gimli@altarf:~$ w -u | cut -sd, -f4,6,8
03,15,16
03 = carico percentuale medio dell'ultimo minuto (-f4)
15 = carico percentuale medio degli ultimi 5 minuti (-f6)
16 = carico percentuale medio degli ultimi 15 minuti (-f8)
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 20:55   #3
Janky
Senior Member
 
L'Avatar di Janky
 
Iscritto dal: Feb 2004
Città: Lecco/Milano
Messaggi: 2863
dell'ultimo minuto? perchè a me servirebbe il carico ogni 5 secondi

cmq grazie mille!
__________________
C'era un moscerino sul tuo schermo
Janky è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 21:35   #4
Janky
Senior Member
 
L'Avatar di Janky
 
Iscritto dal: Feb 2004
Città: Lecco/Milano
Messaggi: 2863
no, ma non mi va bene il valore medio... devo proprio lavorare su top perchè devo prendere la percentuale corrente di uso di cpu da parte dello user

con questo comando prendo l'ora
[code]
top -n 1 | grep average | cut -c 20-28
[/code]

c'è un modo per prendere sempre con un comando solo anche la terza riga, cioè quella dei timings di cpu che effettivamente mi interessano?

devo avere come risultato un file del genere

22:31:46 0.0
22:31:51 22.7
22:31:56 34.9
22:32:01 20.4
22:32:06 20.1
22:32:11 21.7
22:32:16 21.2
22:32:21 20.8
22:32:26 18.8
22:32:31 21.0
22:32:36 21.1
22:32:41 17.6

cioè l'orario e il tempo di cpu associato...

solo che se lo faccio con 2 grep separati mi andrebbe a capo ogni riga ottentendo una roba del genere, che non mi va bene purtroppo

22:31:46
0.0
22:31:51
22.7
22:31:56
34.9
22:32:01
20.4
22:32:06
20.1
22:32:11
21.7
22:32:16
21.2
22:32:21
20.8
22:32:26
18.8
22:32:31
21.0
22:32:36
21.1
22:32:41
17.6
__________________
C'era un moscerino sul tuo schermo
Janky è offline   Rispondi citando il messaggio o parte di esso
Old 02-09-2009, 23:05   #5
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Uff, che pignolo!

Così potrebbe andare?
Codice:
echo 100 - `top -d0 -n1 | sed -e '/^Cpu(s):/!d' -e 's/.*ni,[^\ ]*//' -e 's/%.*$//'` | bc
Prende la percentuale di idle, dopodiché calcola 100 - $idle.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2009, 09:59   #6
Psycotic
Senior Member
 
L'Avatar di Psycotic
 
Iscritto dal: Feb 2004
Messaggi: 1209
echo "`date +%H:%M:%S` `top -n1|grep Cpu|awk '{print $2}'|sed s/,//g`"
__________________
...Ordunque...
Psycotic è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2009, 10:36   #7
Janky
Senior Member
 
L'Avatar di Janky
 
Iscritto dal: Feb 2004
Città: Lecco/Milano
Messaggi: 2863
grazie mille per l'aiuto che mi state dando

i 2 comandi che mi avete dato sembrano funzionare molto bene, ma se li lanciate "a mano" a distanza di 5 secondi, il valore di cpu che vi stampa a voi cambia??

perchè a me rimane sempre lo stesso, anche se lo lancio 15 volte di seguito
__________________
C'era un moscerino sul tuo schermo
Janky è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2009, 14:04   #8
Psycotic
Senior Member
 
L'Avatar di Psycotic
 
Iscritto dal: Feb 2004
Messaggi: 1209
che devo dire, in vita mia non ero mai accorto di sta cosa..

Il top nella prima paginata dice c....ate, hai ragione!
__________________
...Ordunque...
Psycotic è offline   Rispondi citando il messaggio o parte di esso
Old 03-09-2009, 14:20   #9
Psycotic
Senior Member
 
L'Avatar di Psycotic
 
Iscritto dal: Feb 2004
Messaggi: 1209
in alternativa potresti provare un tool per statistiche come il sar.
Oppure puoi fare 2 pagine di top e poi prendere solo la seconda pagina.

Una cosa cosi':

echo "`date +%H:%M:%S` `top -n2|grep Cpu|awk '{print $2}'|sed s/,//g|tail -1`"
__________________
...Ordunque...
Psycotic è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2009, 20:29   #10
Janky
Senior Member
 
L'Avatar di Janky
 
Iscritto dal: Feb 2004
Città: Lecco/Milano
Messaggi: 2863
argh! speravo di averla scampata usando sar... ma al mio prof non va bene...

mannaggia a me che non so usare le espressioni regolari... ora tento di studiarmele ben bene

sar -u 4 5 restituisce i dati con questa sintassi (il 4 sta per 4 secondi tra una iterazione e l'altra, il 5 per il numero di iterazioni da fare)

Codice:
Linux 2.6.27.5 (specweb_web) 	09/13/2009

08:36:20 PM     CPU     %user     %nice   %system   %iowait    %steal     %idle
08:36:24 PM     all       2.74      0.00      0.25     0.00      0.00   97.01
08:36:28 PM     all       0.75      0.00      0.25     0.00      0.00   99.00
08:36:32 PM     all       3.00      0.00      0.75     0.00      0.00   96.25
08:36:36 PM     all       0.00      0.00      0.25     2.00      0.00   97.76
08:36:40 PM     all       0.00      0.00      0.00     0.00      0.00  100.00
Average:        all       1.30      0.00      0.30     0.40      0.00   98.00
a me serve il tempo e la somma di user+system in un file
mentre in un altro mi serve il tempo e la iowait

al momento non ho proprio idea di come si faccia lol
__________________
C'era un moscerino sul tuo schermo

Ultima modifica di Janky : 13-09-2009 alle 20:32.
Janky è offline   Rispondi citando il messaggio o parte di esso
Old 13-09-2009, 21:04   #11
Janky
Senior Member
 
L'Avatar di Janky
 
Iscritto dal: Feb 2004
Città: Lecco/Milano
Messaggi: 2863
ok con

Codice:
echo "`sar -u 2 4|grep M|awk '{print $1 $4+$6}'|sed 1d`"
mi sono avvicinato a quello che mi serve... ora... come diavolo faccio a mettere lo spazio tra $1 e $4+$6??

così mi stampa

10:03:231
10:03:254.52
10:03:270
10:03:294.5

al posto di

10:03:23 1
10:03:25 4.52
10:03:27 0
10:03:29 4.5
__________________
C'era un moscerino sul tuo schermo
Janky è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2009, 00:35   #12
Gimli[2BV!2B]
Senior Member
 
L'Avatar di Gimli[2BV!2B]
 
Iscritto dal: Feb 2006
Città: Parma
Messaggi: 3010
Codice:
sar -u 2 4 | awk '/AM|PM/{ if(FNR>3) print $1" "$2" "$4+$6}'
  • /AM|PM/ sostituisce il grep ed è più "preciso" (| in mezzo funge da OR tra le due stringhe).
  • if(FNR>3) salta fino alla terza riga.
  • " " è il famoso spazio.
  • echo non serve, se l'hai tenuto dal mio precedente esempio serviva solo per bc.
  • Gli "" esterni forzano il tutto ad una stringa, non sono indispensabili, salvo inserimento in variabili di command substitution con output contenenti spazi.
  • Command substitution: gli `` esterni dicono a bash/sh di mettere in quel punto l'output del comando contenuto (cosa che accade anche senza), oltretutto invocando una subshell.
__________________
~Breve riferimento ai comandi GNU/Linux (ormai non molto breve...)
Gimli[2BV!2B] è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2009, 01:56   #13
Janky
Senior Member
 
L'Avatar di Janky
 
Iscritto dal: Feb 2004
Città: Lecco/Milano
Messaggi: 2863
grazie mille!!

mi sono accorto di una cosa... sar visualizza solo PM, se l'ora è minore di 12 non visualizza AM

in ogni caso non mi interessa che stampi anche average, quindi mi può bastare

Codice:
sar -u 2 4 | awk '{ if(FNR>3) print $1" "$4+$6}'
ripeto, grazie mille per l'aiuto!!
__________________
C'era un moscerino sul tuo schermo
Janky è offline   Rispondi citando il messaggio o parte di esso
Old 14-09-2009, 17:38   #14
Janky
Senior Member
 
L'Avatar di Janky
 
Iscritto dal: Feb 2004
Città: Lecco/Milano
Messaggi: 2863
mannaggia a sar...


purtroppo il fatto del PM/AM è un bug bello grosso...


se l'ora è minore di 12 come ho detto prima, non viene stampato AM, quindi i campi che mi interessa sommare sono $3 e $5

se invece l'ora è maggiore di 12 viene stampato PM, quindi i dati che devo sommare diventano il $3 e il $6!!! mannaggia come posso fare??

edit: risolto con sed s/PM//
__________________
C'era un moscerino sul tuo schermo

Ultima modifica di Janky : 14-09-2009 alle 17:40.
Janky è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Geely EX5, un mese al volante: il SUV elettrico cinese che ci ha sorpreso (quasi) senza riserve Geely EX5, un mese al volante: il SUV elettrico ...
Mova Z70 Ultra Roller Complete: motore potente, rullo di lavaggio e l'IA a guidare Mova Z70 Ultra Roller Complete: motore potente, ...
Recensione Google Pixel 11: non ha l'HiLight dei Pro, ma è il Pixel più equilibrato di sempre Recensione Google Pixel 11: non ha l'HiLight dei...
Google Pixel 11 Pro XL: fotocamera al top, batteria indietro. Luci e ombre del nuovo flagship Google Pixel 11 Pro XL: fotocamera al top, batte...
Non sai programmare? Ecco cosa si può fare con un LLM e una GeForce RTX 5070 Ti Non sai programmare? Ecco cosa si può far...
Un satellite della Space Force e lo stad...
Il telescopio spaziale Swift torna opera...
S-Transistors sviluppa i transistor a su...
Sostituire gli sviluppatori con l'IA è u...
Robot aspirapolvere usato come telecamer...
Crawler AI fuori controllo: il 98% del t...
PCB dalla Cina venduti come prodotti di ...
"Porca miseria, reader è ADM...
Un nuovo rinvio per Squadron 42, il nuov...
I 'cani robot' di Boston Dynamics in pri...
Volkswagen rilancia il nome Up: la city ...
Privacy: cosa succede quando chiedi i da...
Meta brevetta un interruttore hardware c...
Il chip che stacca la batteria in 5 micr...
Qualcosa sta cambiando nello spazio: Tru...
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: 00:49.


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