The UNIX and Linux Forums  

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
supprimer les doublons stevie_velvet De programmation et de script Shell 5 07-07-2008 08:42 AM
la suppression du zéro risshanth UNIX pour les nuls Questions et réponses 0 02-08-2008 06:51 AM
supprimer les doublons et de tri-k orahi001 UNIX pour les nuls Questions et réponses 3 01-25-2008 09:59 AM
Dénudage les espaces à droite sur le nom Marcia P UNIX pour les nuls Questions et réponses 2 02-28-2006 10:32 PM
Suppression des doublons giannicello De programmation et de script Shell 12 09-14-2005 07:12 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 03-18-2009
crazyhpux crazyhpux is offline
Registered User
  
 

Date d'inscription: mars 2009
Posts: 14
Ajout d'un zéro à droite et supprimer les doublons

Bonjour tout le monde. J'espère que quelqu'un pourra m'aider ici. J'ai 2 fichiers. Elle ressemble à ceci:

Fichier 1:

ABC1, defg, 50.00, MnO, 990
abc2, chats, 100.00, POP, 991
abc3, chiens, 1.00, traiter, 992


Fichier 2:

990, les avions, la piste, médecin
991, des jets, des oiseaux, une grande
990, * les avions, la piste, médecin
992, voitures, Ford, Toyota

Voici ce que je voudrais faire:

1. En 1 fichier, colonne 3, le montant, je voudrais qu'il soit justifié à droite par un zéro

2. Dans le fichier 2, tous les exemplaires doivent être supprimées. Comme 990, * les avions

3. Après le fichier 1 et 2 sont effectués, alors rejoignez-les en utilisant la clé dans la colonne 5 dans le fichier 1 et la colonne 1 dans le fichier 2.

Si vous avez besoin de plus d'éclaircissements, let me know. Je l'apprécie grandement si quelqu'un peut m'aider. Merci.
  #2 (permalink)  
Old 03-18-2009
crazyhpux crazyhpux is offline
Registered User
  
 

Date d'inscription: mars 2009
Posts: 14
En passant, le fichier final serait quelque chose comme ceci:

ABC1, defg, 000050.00, mno, 990, des avions, la piste, médecin
abc2, chats, 000100.00, pops, 991, des jets, des oiseaux, une grande
abc3, chiens, 000001.00, traiter, 992, voitures, Ford, Toyota

pour le numéro 3, je suppose utiliser la commande JOIN?
  #3 (permalink)  
Old 03-18-2009
vidyadhar85's Avatar
vidyadhar85 vidyadhar85 is offline Forum Staff  
Modérateur (Le Tuteur)
  
 

Date d'inscription: juin 2008
Lieu: INDE
Posts: 1,418
Citation:
Posté par crazyhpux View Post
En passant, le fichier final serait quelque chose comme ceci:

ABC1, defg, 000050.00, mno, 990, des avions, la piste, médecin
abc2, chats, 000100.00, pops, 991, des jets, des oiseaux, une grande
abc3, chiens, 000001.00, traiter, 992, voitures, Ford, Toyota

pour le numéro 3, je suppose utiliser la commande JOIN?
votre premier fichier peut être organisé de cette manière

Code:
 
awk -F, '{printf "%s,%s,%09.2f,%s,%s\n",$1,$2,$3,$4,$5}' filename

  #4 (permalink)  
Old 03-18-2009
summer_cherry summer_cherry is offline Forum Advisor  
Registered User
  
 

Date d'inscription: juin 2007
Lieu: Beijing Chine
Posts: 1,092
Salut, l'espérance ci-dessous peuvent vous aider.
Mais ne sais vraiment pas combien de '0 'que vous attendez.


Code:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b

  #5 (permalink)  
Old 03-19-2009
crazyhpux crazyhpux is offline
Registered User
  
 

Date d'inscription: mars 2009
Posts: 14
Citation:
Posté par summer_cherry View Post
Salut, l'espérance ci-dessous peuvent vous aider.
Mais ne sais vraiment pas combien de '0 'que vous attendez.


Code:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b
je vous remercie pour la réponse à ce jour. Le champ est de 9 chiffres. Ainsi, il peut varier le nombre de zéro sont place. Essayer de faire ressembler à ceci:

000000000
000000100
000000090
000001100
000012000

Les 2 derniers chiffres représentent les cents. Exemple 5.50 sera 000000550
  #6 (permalink)  
Old 03-19-2009
rikxik's Avatar
rikxik rikxik is offline
Registered User
  
 

Join Date: Dec 2007
Messages: 250

Code:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b | nawk -F"," '$3=sprintf("%011.2f",$3);gsub(/\./,"",$3)'

  #7 (permalink)  
Old 03-20-2009
crazyhpux crazyhpux is offline
Registered User
  
 

Date d'inscription: mars 2009
Posts: 14
Citation:
Posté par rikxik View Post
Code:
awk -F"," '{
        if(_[$1]==0){
                _[$1]=1
                print $0
        }
}' a > t1
join -t"," -11 -25 t1 b | nawk -F"," '$3=sprintf("%011.2f",$3);gsub(/\./,"",$3)'
Souhaitez-vous avoir l'obligeance d'expliquer un peu le code pour moi. Je vous remercie pour votre aide.
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 02:39 AM.


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