Bash grep e affini...

Se avete dubbi o domande sulla programmazione in generale, fatele qui
Rispondi
nosacciu
Newbie
Messaggi: 9
Iscritto il: 18 maggio 2011, 12:36

Messaggio da nosacciu » 18 maggio 2011, 12:41

salve ho una domanda... vorrei realizzare uno scriptino che verificando la temperatura della cpu mi cambi la policy di cpufreq il problema è che praticamente dando questo comando

sensors -u | grep temp1_input > /tmp/temperature

il risultato del file creato è


temp1_input: 30.750

a me interesserebbe da questo file ricavare quel numero (in questo caso 30.750) per inserirlo all'interno di un if per fare un confronto come posso fare?

Avatar utente
pierluigi
Amministratore
Messaggi: 1203
Iscritto il: 26 agosto 2007, 15:39

Messaggio da pierluigi » 18 maggio 2011, 14:40

Codice: Seleziona tutto

sensors -u | grep temp1_input | cut -d  -f2
non l'ho testato (occhio al doppio spazio dopo -d )

psykopear
Little John
Messaggi: 800
Iscritto il: 28 ottobre 2007, 22:20

Messaggio da psykopear » 18 maggio 2011, 14:44

con sed non dovrebbe essere niente di difficile
Arch Linux. Ebbasta
"L'utopia è come l'orizzonte: cammino due passi, e si allontana di due passi. Cammino di dieci passi, e si allontana di dieci passi. E allora, a cosa serve l'utopia? A questo: serve per continuare a camminare."

Avatar utente
Luco
Little John
Messaggi: 957
Iscritto il: 19 giugno 2009, 11:23
Località: [MI]

Messaggio da Luco » 18 maggio 2011, 14:53

Io avrei usato awk, ma credo che le soluzioni già proposte siano più adatte.
Altrimenti con grep puoi escludere temp1_input:
--- Arch Linux user since april 2009

nosacciu
Newbie
Messaggi: 9
Iscritto il: 18 maggio 2011, 12:36

Messaggio da nosacciu » 18 maggio 2011, 14:54

pierluigi ha scritto:

Codice: Seleziona tutto

sensors -u | grep temp1_input | cut -d  -f2
non l'ho testato (occhio al doppio spazio dopo -d )
non funziona :-P

Avatar utente
Luco
Little John
Messaggi: 957
Iscritto il: 19 giugno 2009, 11:23
Località: [MI]

Messaggio da Luco » 18 maggio 2011, 14:57

A me funziona ma stampa un 1 in più

Codice: Seleziona tutto

sensors -u | grep "temp1_input" | grep -o "[.|0-9]*"
Così invece è ok (però awk è abusato)

Codice: Seleziona tutto

sensors -u | grep "temp1_input" | awk '{print $2}'
--- Arch Linux user since april 2009

nosacciu
Newbie
Messaggi: 9
Iscritto il: 18 maggio 2011, 12:36

Messaggio da nosacciu » 18 maggio 2011, 14:57

Luco ha scritto:A me funziona ma stampa un 1 in più

Codice: Seleziona tutto

sensors -u | grep "temp1_input" | grep -o "[.|0-9]*"
Così invece è ok (però awk è abusato)

Codice: Seleziona tutto

sensors -u | grep "temp1_input" | awk '{print $2}'
si così ci siamo

Rispondi