The UNIX and Linux Forums  
Bonjour et bienvenu par les États-Unis à la UNIX et Linux Forums! Merci de votre visite et vous joindre à notre communauté mondiale.

Go Back   Les systèmes UNIX et Linux Forums > Top Forums > De programmation et de script Shell
.
google unix.com



De programmation et de script Shell Posez vos questions à propos de KSH, CSH, SH, BASH, PERL, PHP, SED, awk et d'autres scripts shell et les langages de script shell ici.

Plus d'UNIX et Linux Forum Sujets Vous trouverez peut-être utile
Fil Thread Starter Forum Réponses Last Post
l'ajout de valeurs avec une boucle hcclnoodles De programmation et de script Shell 1 05-27-2008 06:42 AM
remplacer les valeurs de colonne. charandevu De programmation et de script Shell 6 04-02-2008 02:21 AM
comment lire la colonne et d'imprimer les valeurs sous cette colonne gemini106 De programmation et de script Shell 6 03-28-2008 07:05 AM
Comment faire pour vérifier des valeurs Null dans un fichier, colonne par colonne, si les colonnes ne sont pas NULL Mandab De programmation et de script Shell 7 03-15-2008 09:57 AM
remplacer une colonne avec les valeurs de la première valeur dans la colonne Sumeet UNIX for Advanced & Expert Users 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 Recherche sur ce Thread Rate Thread Modes d'affichage
  #1 (permalink)  
Old 02-08-2007
berlin_germany berlin_germany is offline
Registered User
  
 

Join Date: Nov 2006
Messages: 17
Aide en ajoutant des valeurs négatives et positives dans une colonne

Salut Gurus,

Dans mon dossier, j'ai un montant domaine de la mesure 74 à 87, qui contient les valeurs en commençant par '+' ainsi que '-'. Je tiens à ajouter toutes les valeurs positives dans une variable appelée «crédit» et de toutes les valeurs négatives dans une variable "PRÉLEVER". Je sais, nous pouvons utiliser grep d'identifier les valeurs avec des signes positifs et négatifs. Mais, ne savent pas comment les ajouter séparé en 2 variables dans un script. Yat-il un moyen de le faire sur la ligne de commande? Toute aide serait bien appriciated. Merci!

Dans mon fichier Montant domaine a justifié à droite des valeurs similaires,

+1345778500000
-327800000
+642307000000
-4300000
+2308007
Ces valeurs oeil gauche à l'écran, mais ils sont réellement justifiées à droite dans mon dossier.
  #2 (permalink)  
Old 02-08-2007
jim McNamara jim mcnamara is online now Forum Staff  
...@...
  
 

Join Date: Feb 2004
Lieu: NM
Posts: 5723
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
essayez quelque chose comme ça ....

.. messed up justification du droit ...
  #3 (permalink)  
Old 02-09-2007
berlin_germany berlin_germany is offline
Registered User
  
 

Join Date: Nov 2006
Messages: 17
Merci Jim McNamara de la réponse. Cela fonctionne très bien, quand les valeurs sont justifiés à gauche. Mais, j'ai justifié à droite les valeurs dans le fichier. Ainsi, '+' ou '-' peut commencer à n'importe quel poste de 74 à 87 octets.

Comment pouvons-nous utiliser «longueur» fonction de traiter les valeurs de gauche, de sorte que les espaces en tête peut être ignoré?
  #4 (permalink)  
Old 02-09-2007
berlin_germany berlin_germany is offline
Registered User
  
 

Join Date: Nov 2006
Messages: 17
Je pense que, à la suite permettra de résoudre le problème, où je ne se soucient pas de position de '+' et '-' dans le signe des valeurs. Je peux vérifier les valeurs> 0 et le reste, et en fonction de cette somme dans les 2 variables ci-dessous:

awk '(
value \u003d substr ($ 0,74,14)
if (value> 0) (\u003d + plus value)
else (moins + \u003d value)
)
END (print plus, moins) 'nom_fichier | lire débit de crédit
  #5 (permalink)  
Old 02-09-2007
berlin_germany berlin_germany is offline
Registered User
  
 

Join Date: Nov 2006
Messages: 17
Suite fonctionne bien,

#! / bin / ksh

credit_sum \u003d `awk '(value \u003d substr ($ 0, 74, 14); if (value> 0) (crédit + \u003d value)) END (print crédit)' filename»

debit_sum \u003d `awk '(value \u003d substr ($ 0, 74, 14); if (value <0) (\u003d valeur de débit +)) END (print débit)' filename»

exit 0;
Closed Thread

Bookmarks

Thread Tools Recherche sur ce Thread
Recherche sur ce Thread:

Recherche avancée
Modes d'affichage Rate this thread
Rate this thread:

Règles de messages
Tu mai pas de nouvelles discussions: nonoui
Tu mai pas envoyer des réponses:
Tu mai pas envoyer des pièces jointes
Tu mai pas modifier vos messages

BB code est Sur
Smilies sont Sur
[IMG] code est Sur
Le code HTML est Hors tension
Trackbacks sont Sur
Pingbacks sont Sur
Refbacks sont Sur




Toutes les heures sont au format GMT -4. Le temps est maintenant 01:26 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traductions Langue Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Les systèmes UNIX et Linux Forums Content Copyright © 1993-2009. Tous droits Reserved.Ad de gestion par RedTyger

Content Relevant URLs par vBSEO 3.2.0