Torna indietro   Hardware Upgrade Forum > Software > Programmazione

 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco
MiniLED di fascia media con local dimming a 192 zone, 144 Hz nativi e audio firmato Devialet. La prova strumentale riscontra colori affidabili e gaming reattivo, per un prodotto molto accessibile e convincente. Ma la soundbar aggiuntiva è quasi d'obbligo
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto
Amazon porta i colori sul suo Kindle da scrittura più grande: schermo Colorsoft a 11 pollici, processore quad-core, penna premium più reattiva e strumenti IA per le note, sono le note salienti. Il salto di prezzo rispetto al modello in bianco e nero si fa sentire, anche se la percezione è quella di trovarsi di fronte a un prodotto di fascia altissima, per veri appassionati
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint
Abbiamo intervistato Sumit Dhawan, CEO di Proofpoint, per capire come stia cambiando il mondo della sicurezza con l'avvento dell'intelligenza artificiale e con il ritmo sempre più serrato a cui vengono trovate vulnerabilità nel software. Un problema significativo, che richiederà del tempo per essere risolto (o quantomeno arginato)
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 21-07-2006, 09:26   #1
fracarro
Senior Member
 
L'Avatar di fracarro
 
Iscritto dal: Jul 2002
Messaggi: 869
Calcolo della media tramite script bash

Salve ragazzi. Ho un problemino nella creazione di uno script bash per il calcolo della media di alcuni valori restituiti da un programma. Mi spiego meglio. Io dovrei lanciare n_iter volte un programma e ogni volta "prelevare" dal suo output un valore, sommarlo a quelli precedenti e alla fine fare la divisione per n_iter. Io ho scritto il seguente script:

#!/bin/bash
n_iter=5
counter=0
media=0
x=0
while [ $counter -lt $n_iter ]
do
counter=`expr $counter + 1`
x=`./dikh <input_file -p 50 | egrep Running | awk '{printf ($6"\n")}'`
echo "x=" $x
media=`expr $media + $x`
done
media=`expr $media / $n_iter`

Il problema che mi da deriva dal fatto che quando estraggo il valore del risultato dallo standard output tramite la grep e l'awk e lo salvo nella variabile x quest'ultima viene considerata come una stringa e di conseguenza la successiva operazione media=`expr $media + $x`mi restituisce un errore perchè i parametri non sono numerici. C'è un modo per convertire la stringa in numero tipo con la funzione atoi del C? Oppure c'è un modo migliore per prelevare direttamente come un numero il valore dell'output del programma? ( Per la cronaca l'output viene scritto in questo modo " Running time of SP computation: 12.33 " e a me servirebbe salvare in x il 12.33 in formato numerico ). Grazie per l'aiuto.
fracarro è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 10:07   #2
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Bash non supporta i numeri in virgola mobile. Devi usare bc:
http://db.ilug-bom.org.in/Documentat...thc.html#BCREF
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 10:17   #3
andbin
Senior Member
 
L'Avatar di andbin
 
Iscritto dal: Nov 2005
Messaggi: 5206
Quote:
Originariamente inviato da fracarro
Il problema che mi da deriva dal fatto che quando estraggo il valore del risultato dallo standard output tramite la grep e l'awk e lo salvo nella variabile x quest'ultima viene considerata come una stringa e di conseguenza la successiva operazione media=`expr $media + $x`mi restituisce un errore perchè i parametri non sono numerici.
Partiamo da una considerazione: expr è un eseguibile (tipicamente /usr/bin/expr) a cui si passano una serie di parametri che vengono presi a tutti gli effetti come stringhe! Il problema fondamentale quindi non è il fatto che i valori nello script siano numeri o stringhe (per expr è indifferente!) ma è che il comando expr non accetta numeri con la virgola ma solo numeri interi.
Codice:
-bash-2.05b$ expr 15 + 8
23
-bash-2.05b$ expr 15.5 + 8
expr: non-numeric argument
__________________
Andrea, Senior Java developerSCJP 5 (91%) • SCWCD 5 (94%)
Java Versions Cheat Sheet
andbin è offline   Rispondi citando il messaggio o parte di esso
Old 21-07-2006, 10:22   #4
ilsensine
Senior Member
 
L'Avatar di ilsensine
 
Iscritto dal: Apr 2000
Città: Roma
Messaggi: 15625
Quote:
Originariamente inviato da andbin
Partiamo da una considerazione: expr è un eseguibile (tipicamente /usr/bin/expr) a cui si passano una serie di parametri che vengono presi a tutti gli effetti come stringhe! Il problema fondamentale quindi non è il fatto che i valori nello script siano numeri o stringhe (per expr è indifferente!) ma è che il comando expr non accetta numeri con la virgola ma solo numeri interi.
Corollario: sotto Bash, expr non serve a un tubo -- bash supporta l'aritmetica sugli interi: echo $((9/3+2))
__________________
0: or %edi, %ecx; adc %eax, (%edx); popf; je 0b-22; pop %ebx; fadds 0x56(%ecx); lds 0x56(%ebx), %esp; mov %al, %al
andeqs pc, r1, #147456; blpl 0xff8dd280; ldrgtb r4, [r6, #-472]; addgt r5, r8, r3, ror #12
ilsensine è offline   Rispondi citando il messaggio o parte di esso
Old 28-07-2006, 10:35   #5
fracarro
Senior Member
 
L'Avatar di fracarro
 
Iscritto dal: Jul 2002
Messaggi: 869
grazie mille. ho tagliato la testa al toro e usato uno script perl.
fracarro è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


 Hisense 55U7SE: tuttofare e accessibile, il MiniLED per film, sport e gioco Hisense 55U7SE: tuttofare e accessibile, il Min...
Kindle Scribe Colorsoft: riduce le cornici e diventa a colori, ma il prezzo è alto Kindle Scribe Colorsoft: riduce le cornici e div...
L'IA cambia tutte le regole della sicurezza tra vulnerabilità e sorveglianza. Intervista al CEO di Proofpoint L'IA cambia tutte le regole della sicurezza tra ...
L'Europa conta nella tecnologia e può essere autonoma. Cosa si è detto al Nextcloud Summit 2026 L'Europa conta nella tecnologia e può ess...
Dreame X60 Pro Ultra Complete: i bracci si estendono sempre di più Dreame X60 Pro Ultra Complete: i bracci si esten...
GeForce RTX 5050 9 GB, il progetto sareb...
Blue Origin sta ricostruendo velocemente...
La sovranità digitale non è...
ESS obbligatorio da luglio: il rivoluzio...
Batterie Tesla rubate direttamente fuori...
Il Governo statunitense anticipa di 5 an...
Steam Machine costa troppo? Non per i ba...
AWS e Azure sono gatekeeper e vanno rego...
Huawei presenta una nuova infrastruttura...
Logitech G e Activision uniscono le forz...
Snapdragon Summit 2026: ecco quando sara...
Sardegna, debutta il primo treno a idrog...
CXMT non ci salverà dai prezzi de...
Tidal contro la musica creata con l'inte...
Videproiettore compatto XGIMI MoGo 2 Pro...
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: 05:19.


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