The UNIX and Linux Forums  

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Linux Shell Domanda: come stampare il nome di uno script della shell? meili100 UNIX for Dummies Domande & Risposte 3 07-01-2008 02:55 PM
Script di shell questione jbou1087 Shell scripting e di programmazione 2 05-06-2008 03:01 AM
Uno script di shell questione surjyap Shell scripting e di programmazione 2 11-24-2005 05:48 AM
Basta uno script della shell questione frustrated1 Shell scripting e di programmazione 8 07-03-2005 03:22 AM
BASH script di shell questione ewarmour Shell scripting e di programmazione 3 05-24-2002 06:10 AM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 08-28-2007
tselvanin tselvanin is offline
Utente Registrato
  
 

Join Date: Sep 2003
Interventi: 10
script di shell questione

Sto usando ksh.

Vi è una relazione che hanno gli importi nel seguente formato,

34343,67 -
2343,45
23434,89 -

Voglio riassumere tutti gli importi. Per questo ho bisogno prima di sapere se vi è un segno meno alla fine e il prefisso prima di riepilogo. Come raggiungere questo obiettivo?

Ho pensato di utilizzare un array per memorizzare i valori e poi riassumere gli importi utilizzando un ciclo while. Ma non hanno alcuna idea di come prima convertire gli importi al di sotto del formato,

-34343,67
2343,45
-23434,89

Qualsiasi aiuto è apprezzato.
Grazie!
  #2 (permalink)  
Old 08-28-2007
ghostdog74 ghostdog74 is offline Forum Advisor  
Utente Registrato
  
 

Join Date: Sep 2006
Messaggi: 2.546
Codice:
awk '/-$/ { c=c-$0 }
     !/-$/ { c=c+$0 }
END {print c }' "file"
  #3 (permalink)  
Old 08-28-2007
blowtorch's Avatar
blowtorch blowtorch is offline Forum Advisor  
Supporter
  
 

Iscriviti Data: dicembre 2004
Ubicazione: Singapore
Interventi: 2.350
Cosa ne pensate di questo?
Codice:
#!/usr/bin/ksh
final=""
while read line; do
        case $line in
                [0-9]*.*[0-9]*-) final=$final-${line%-*};;
                *) final=$final+$line ;;
        esac
done < /path_to_file_with_numbers
finalsum=$(echo $final | bc)
echo $finalsum
Io non lo faccio più il controllo degli errori di convalida o qui. Lo script si aspetta che i numeri validi.
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 03:52 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0