![]() |
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.
|
|
google unix.com
|
|||||||
| Forums | Registreer | Forum Regels | Links | Albums | Veelgestelde vragen | Ledenlijst | Kalender | Zoeken | Today's Posts | Markeer forums als gelezen |
| Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier. |
Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
|
||||
| Draad | Thread Starter | Forum | Antwoorden | Last Post |
| Unix: mail verzenden probleem .. pls help me snel | bobprabhu | UNIX voor Dummies Questions & Answers | 2 | 02-01-2008 05:44 |
| Unix Login Issue | freakygs | UNIX for Advanced & Expert Gebruikers | 1 | 01-16-2008 08:21 |
| Probleem met Unix commando cat | RCR | Programmeren en Shell Scripting | 13 | 10-31-2007 05:54 |
| Unix commando mmin kwestie | Mohee | UNIX voor Dummies Questions & Answers | 1 | 08-30-2007 10:41 PM |
| Unix in een Windows omgeving kwestie | Aisha Sturkey | UNIX voor Dummies Questions & Answers | 6 | 05-02-2005 09:44 PM |
![]() |
|
|
LinkBack | Thread Tools | Zoeken in deze Thread | Rate Thread | Display Modes |
|
|
|
||||
|
Hoi,
Ik heb een shell scripting. Dit duurt 7 cijferige nummer in elke lijn en voeg 7 cijferig nummer met de volgende latere lijnen (normaal toevoeging). Bijvoorbeeld: 0000001 0000220 0001235 0000022 0000023 ........... ......... ........ Zoals dit Ik heb ongeveer 1500000 records. Na het toevoegen, krijg ik het resultaat 2147483647 maar feitelijke resultaat is 2156379608. Ik vond dat de oorzaak van dit probleem is dat Unix temproary variabele kan slechts 2156379608 (Bereik van integer) als het 32-bits. Voor bijvoorbeeld: a \u003d 2147483647 expr $ a + 2 krijg je het negatieve resultaat. Want terwijl expr werken, het resultaat zal worden opgeslagen in het interne tijdelijke variabele of registreer dan krijg je het resultaat .. maar dat het bijzonder tijdelijke variabele of inschrijven kan slechts 2147483647 .. indien het kruisen deze limiet, kunt u de waarde als junk-ve waarden ... dit is mijn finiding voor dit probleem .. Maar ik wil zijn oplossing voor dit probleem. het toevoegen of doen arthimatic opration als ik willen hebben resultaat meer dan de limiet (2147483647). Ik bedoel a \u003d 2147483647 expr $ a + 2 voor dit ik moet om de juiste resultaat in plaats van-ve waarde. |
|
||||
|
Dit zal behandelen maximaal 15 significante cijfers:
Code:
awk ' {total+=$0} END { print total} ' file
Code:
#/bin/ksh
total=0
while read value
do
total=$(echo "$value + $total" | bc )
done < file
echo $total
|
|
||||
|
Hoi,
Bedankt. We zijn ook met behulp van de awk voor arthitmatic operatie. Maar we krijgen geen exepected resultaat. Ik heb geprobeerd met je code. $ Awk '(total + \u003d $ 0) END (print totaal)' hash_column_wrong.txt 2.15638e +09 Ik heb het resultaat in expontial formaat. Maar ik moet het resultaat met alle cijfers. Hoe dit te bereiken?. Dan tweede methode die u gebruikt de bc rekenmachine neemt meer tijd om complte. Dus ik denk dat awk is de beste methode. Vanaf nu krijg ik als resultaat 2.15638e +09. maar ik nodig om resultaat op als 2156380000. Please help me. Groeten, Thambi |
|
||||
|
Antwoorden ..
Zoals ik al vermeld, alleen bevat de 7 digitalisering aantal in elke rij. Als deze, dit bestand is ongeveer 150000. We hoeven alleen maar toe te voegen alle rijen .. dat is alles
0000001 0000343 0000001 0001426 0000001 0000718 0000162 0000103 0000021 0000011 0000016 0000312 0000026 0000031 0000005 0000022 0000001 0000001 0011845 0003713 0000001 0000011 0000001 0000001 0000001 ..,., ........ ....... |
|
||||
|
Antwoorden ....
Toen ik de volgende commando
awk '(print $ 0 "+ \ \")' hash_column_wrong.txt | bc Ik heb hieronder uitzondering .. bundeling ruimte overschreden op lijn 1, bundeling ruimte overschreden op lijn 1, bundeling ruimte overschreden op lijn 1, is het gevolg van \ n teken dat zich eind van de lijn?. |
![]() |
| Bladwijzers |
| Labels |
| bc, grote getallen, gawk, som van kolom |
| Thread Tools | Zoeken in deze Thread |
| Display Modes | Beoordeel deze draad |
|
|