The UNIX and Linux Forums  
Hallo en welkom van de Verenigde Staten aan de UNIX en Linux Forum! Bedankt voor uw bezoek en Deelnemen aan onze wereldwijde gemeenschap.

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



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
het toevoegen van waarden met een lus hcclnoodles Programmeren en Shell Scripting 1 05-27-2008 06:42
vervanging van de kolom waarden. charandevu Programmeren en Shell Scripting 6 04-02-2008 02:21
Hoe lees ik de kolom en afdrukken van de waarden onder die kolom gemini106 Programmeren en Shell Scripting 6 03-28-2008 07:05
Hoe om te controleren Null-waarden in een bestand column van kolom of kolommen niet Null Mandab Programmeren en Shell Scripting 7 03-15-2008 09:57
vervanging van een kolom met de waarden van de eerste waarde in de kolom sumeet UNIX for Advanced & Expert Gebruikers 3 02-06-2007 01:13 PM

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 Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 02-08-2007
berlin_germany berlin_germany is offline
Geregistreerde gebruiker
  
 

Join Date: november 2006
Posts: 17
Hulp bij het toevoegen van positieve en negatieve waarden in een kolom

Hi Goeroes,

In mijn bestand heb ik een bedrag gebied van positie 74 tot 87, die waarden te beginnen met '+' en '-'. Ik wil toevoegen alle positieve waarden in een varible genaamd "krediet" en alle negatieve waarden in een variabele "DEBIT". Ik weet het, we kunnen gebruiken grep vast te stellen waarden met positieve en negatieve symptomen. Maar, weet niet, hoe voeg ze in 2 afzonderlijke variabelen in een script. Is er een manier om dat te doen op de opdrachtregel? Alle hulp zou veel gewaardeerd. Bedankt!

In mijn bestand Bedrag veld heeft recht gerechtvaardigd waarden wilt,

+1345778500000
-327800000
+642307000000
-4300000
+2308007
Deze waarden kijken hier links op het scherm, maar ze zijn eigenlijk rechts in mijn bestand.
  #2 (permalink)  
Old 02-08-2007
jim McNamara jim mcnamara is offline Forum Staff  
...@...
  
 

Join Date: Feb 2004
Locatie: NM
Berichten: 5.754
Code:
awk ' {
           value=substr($0,74,14)
           while (substr(value,1,1) == " " ) {value=substr(value,2)}
           if(value>0) { plus+=value}
           else    {minus+=value}
        }
       END { print plus, minus} ' filename | read credit debit
Probeer zoiets ....

.. messed up de juiste motivering ...
  #3 (permalink)  
Old 02-09-2007
berlin_germany berlin_germany is offline
Geregistreerde gebruiker
  
 

Join Date: november 2006
Posts: 17
Bedankt Jim McNamara voor het antwoord. Het werkt prima, als waarden links gerechtvaardigd. Maar, ik heb rechts waarden in het bestand. Dus, '+' of '-' kunt beginnen op elke positie 74 tot 87 bytes.

Hoe kunnen we gebruik "lengte" functie voor de behandeling van de waarden zoals links, zodat de belangrijkste ruimten kunnen worden genegeerd?
  #4 (permalink)  
Old 02-09-2007
berlin_germany berlin_germany is offline
Geregistreerde gebruiker
  
 

Join Date: november 2006
Posts: 17
Ik denk dat, na het probleem, waar ik geen zorg over positie van '+' en '-' tekens in de waarden. Ik kan alleen maar controleren waarden> 0 en de rest, en volgens dat bedrag ze in 2 verschillende variabelen als hieronder:

awk '(
value \u003d substr ($ 0,74,14)
if (waarde> 0) (plus + \u003d waarde)
else (min + \u003d waarde)
)
END (print plus minus) 'bestandsnaam | lees credit debet
  #5 (permalink)  
Old 02-09-2007
berlin_germany berlin_germany is offline
Geregistreerde gebruiker
  
 

Join Date: november 2006
Posts: 17
Volgende werken prima,

#! / bin / ksh

credit_sum \u003d `awk '(value \u003d substr ($ 0, 74, 14); if (waarde> 0) (credit + \u003d waarde)) END (print krediet)" bestandsnaam "

debit_sum \u003d `awk '(value \u003d substr ($ 0, 74, 14); if (waarde <0) (domiciliëring + \u003d waarde)) END (print debet)" bestandsnaam "

exit 0;
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 12:53 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0