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

Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più
Dreame X60 Pro Ultra Complete implementa due bracci estensibili, per spazzola e moccio, che si spingono ben oltre quanto visto sino ad oggi permettendo una pulizia di casa ancor più capillare e precisa
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati
La tecnologia SQD-Mini LED di TCL arriva sul taglio da 65 pollici con la serie C8L: 2040 zone, pannello WHVA 2.0 e un picco che alle rilevazioni delle sonde tocca i 4400 nit nel profilo Filmmaker e un HDR quasi perfetto
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro
Wireless 2.4 GHz, Bluetooth 5.4, cancellazione attiva del rumore, design pieghevole e un'autonomia che mette in imbarazzo prodotti che costano il doppio. Le Maestro 500 non eccellono in nulla, ma offrono tutto. E a questo prezzo è difficile chiedere di più
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


Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
TCL 65C8L, la recensione del SQD-Mini LED da 4400 nit misurati TCL 65C8L, la recensione del SQD-Mini LED da 440...
MSI Maestro 500 Wireless: ANC e 90 ore di autonomia a 70 euro MSI Maestro 500 Wireless: ANC e 90 ore di autono...
NL-LC1 è il primo dissipatore a liquido AIO di Noctua: silenzio è la parola d'ordine NL-LC1 è il primo dissipatore a liquido A...
Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con Android 15 e penna, dal prezzo super Boox Go 10.3 (Gen II) Lumi: il tablet e-ink con ...
NVIDIA mostra una comunità di rob...
Sony annuncia LYTIA L910, arriva il sens...
Ericsson, il 5G è l’infrastruttur...
Marvell punta tutto su TSMC A14: sar&agr...
Hyundai a un passo dal controllo totale ...
Questo SSD vecchio 16 anni ha resistito ...
Monopattino elettrico Xiaomi in offerta:...
Microsoft usa le capre di Age of Empires...
Microsoft conferma bug nel Cestino in tu...
Accenture crolla del 20% in borsa, il pe...
ASUS Pro WS W890E-SAGE SE: sette PCIe 5....
Attenzione al prezzo di questa TV Hisens...
Chrome sbeffeggiato da Ballmer nel 2009:...
Un gioco Mac compatibile con Apple Silic...
La batteria allo stato solido di Honda s...
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: 21:24.


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