Sponsored Content
Top Forums Shell Programming and Scripting Joindre deux fichier avec deux champs de jointure Post 302342125 by steph70 on Friday 7th of August 2009 12:36:23 PM
Old 08-07-2009
Joindre deux fichier avec deux champs de jointure

Hello,

I come to you asking you a hand on a script that I have performed on a unix server.

I have two files that I have to concatenate in a single line.

The first file is created like this:
Code:
mag;code_art;campagne;st_juillet;st_aout;etc


The second file is created like this:
Code:
code_art;campagne;pma_juillet;pma_aout;etc


and the final should be like this:
Code:
mag;code_art;campagne;st_juillet;st_aout;etc;pma_juillet;pma_aout;etc...

Basically I do a join on two fields that are code_art and campagne.

And I plant, because I tried to join but the result is false because the joint can be achieved only on a field.
Basically, I give you an example and hope that you will be inspired much more than me because I really dry.

Example:

The first file includes this:
Code:
mag;code_art;campagne;st_juillet;st_aout;etc
201;106;2007;12;23;etc
201;206;2008;11;13;etc
113;206;2007;12;14;etc
112;208;2008;34;25;etc


The second file contains this:
Code:
code_art;campagne;pma_juillet;pma_aout;etc
206;2007;112;118,etc
201;2008;115;120;etc
206;2008;175;195;etc
106;2007;340;152;etc
208;2008;32;12;etc
etc.........

and the final file should look like this:
Code:
mag;code_art;campagne;st_juillet;st_aout;etc;pma_juillet;pma*_aout;etc
201;206;2008;11;13;etc;112;118;etc
201;106;2007;12;23;etc;340;152;etc
112;208;2008;34;25;etc;32;12;etc

I finish this post a little long, thank you in advance for your help.

Amicalement
Steph70

Last edited by steph70; 08-07-2009 at 03:06 PM..
 

8 More Discussions You Might Find Interesting

1. Solaris

Filesystems Part Deux

In reading Ralph's pervious post I came accross a question. Say you have two hard drives in your system. One is running Solaris 10 and the other is Linux on ext2 FS. Is it possible to mount the linux using Solaris and transfer files? Thanks, Robert (1 Reply)
Discussion started by: Phobos
1 Replies

2. Solaris

Fichier d'erreur

bonjour Ou puis je trouver les fichiers d'erreur (l'équivalent du errpt sous Aix) sous Sun Solaris ? merci (5 Replies)
Discussion started by: pascalbout
5 Replies

3. HP-UX

Target LUNs plus que deux sur un SAN de 2 fabrics

salut admin, Normalement mon serveur doit voir un de mes LDEV à partir de deux chemins sur le SAN et ainsi lui attribuer seulement deux Target LUNs. Or il lui en a attribué 8!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Très bizzare! Auriez vous une idée. Merci pour votre aide appréciée (2 Replies)
Discussion started by: hmaiida
2 Replies

4. Solaris

Probleme avec SVM

Bonjour, J'ai ajouté par erreur à un sous mirroir des disques de cette facon : metattach d53 c2t90d0s0 c2t90d1s0 ... alors que j'aurais du faire un stripe par disque (comme ça) : metattach d53 c2t90d0s0 metattach d53 c2t90d1s0 .. Derriere, j'ai fais un growfs -M du FS pour l'aggrandir et... (1 Reply)
Discussion started by: phil.nakache
1 Replies

5. AIX

Ajout colonne calcuée ds un fichier .txt

Mon but est de créer un script ksh ou commande aix permettant ceci. J'ai un fichier .txt organisé par bloc d'informations, chaque bloc débute par 000 et ce comme suit : 000... 001... 003... 004... 000... 001... 003... 004... . . .Mon but est d'ajouter une colonne en fin de chaque ligne afin... (2 Replies)
Discussion started by: zainab2006
2 Replies

6. Shell Programming and Scripting

Script Send Mail by Parameters avec Attached file

Hi i have a script for show the information files. ls -l how do you for to place this result in a file of text and to send it attached for e-mail. The information of the mail must be in paramentros. for example e-mail to I must write the e-mail, the subject and the motive of the mail! ... (1 Reply)
Discussion started by: krlos07
1 Replies

7. AIX

Mémoire insuffisante avec awk

Bonjour, Je suis sur Aix 5 et j'ai un script qui traite un fichier texte de 5 G. Au lancement du scripte,j'ai le message suivant: awk : 0602-561 MÚmoire disponible insuffisante actuellement. Voir le script "blan.sh" awk 'BEGIN { print "Traitement de votre fichier " FILENAME } ... (1 Reply)
Discussion started by: earlaphe
1 Replies

8. Shell Programming and Scripting

Help script shell find fichier

Hello, I am looking for a shell script that can 1- take as input a variable, like "server.cpu" 2- do a search for that variable in a directory that contains subdirectories. The search will start at the last subdirectory working up to the top level if I can not find the file 3-... (7 Replies)
Discussion started by: georg2014
7 Replies
XTELD(8)						      System Manager's Manual							  XTELD(8)

NOM
xteld - demon de l'emulateur Minitel XTEL SYNOPSIS
xteld [-H] [-v] DESCRIPTION
xteld est lance par le super-demon inetd en cas d'utilisation de l'emulateur minitel xtel . Si XTEL n'utilise pas le reseau (option NO_NET- WORK a la compilation), le demon xteld doit etre lance lors de l'initialisation du systeme. OPTIONS
-H HyperTerminal: permet l'utilisation du logiciel HyperTerminal 3.0/4.0 (Private Edition) comment client a la place de "xtel" -v Affiche la version et quitte UTILISATION
xteld utilise le fichier "/usr/X11R6/lib/X11/xtel/xtel.services" (sous Xfree86) qui contient la liste des services disponibles sous la forme : [Nom du device,] Nom de l'entree du menu , Numero de telephone du service[:nom_service] [, login1[:login2...] ] a raison d'une ligne par service. Le premier champ (nom du device) definit un nom symbolique (ou device) pour les connexions a un standard donne (V.23, V32bis, TVR). Chaque device est associe a une configuration particuliere de la ligne physique (vitesse, nombre de bits, parite) qui sera definie dans xtel.lignes. Si le premier champ a la valeur @pipe, cela signifie que l'acces au service se fait au travers d'une commande locale (dont le chemin absolu est precise dans le dernier champ) par pipe Unix. On peut ajouter a cette commande le flag :crlf qui permet la conversion de CR en LF. Si le premier champ a la valeur @tcp, l'acces au service se fait avec une connexion TCP. Les champs suivant contiennent respectivement le nom de l'entree du menu puis le nom Internet du serveur puis le numero de port ou le nom de service TCP (separe du nom Internet par le car- actere ':') Si le premier champ a la valeur @iminitel, l'acces au service se fait avec une connexion PPP au numero 3622. Les champs suivant contiennent respectivement le nom de l'entree du menu puis le nom du script de connexion puis le numero de port ou le nom de service TCP (separe du nom Internet par le caractere ':') Ce premier champ est optionnel ce qui permet en particulier de supporter l'ancienne syntaxe. A ce moment la, les fichier xtel.services et xtel.lignes ne doivent pas utiliser la nouvelle syntaxe (pas de melange possible). Si le dernier champ est absent, la connexion au service est permise a tous les utilisateurs, sinon elle est limitee a ceux dont les noms de login sont specifies sous la forme 'user@machine'. Si la machine n'est pas specifiee, tous les utilisateurs portant le nom 'user' sont autorises. La syntaxe '@machine' permet d'autoriser tous les utilisateur d'une machine donnee. Le nom d'utilisateur est ignore dans le cas des connexion Window$ (HyperTerminal). On peut utiliser des caracteres 8 bits pour le nom du service (1er champ), si le caractere ne peut etre saisi directement, on pourra le representer sous la forme d'un code octal xyz . Si troisieme champ est de la forme numero:nom_ser- vice, cela signifie que l'acces est limite au service donne (ex: 3615:METEO). Si les champs separes pas des ':' sont de la forme : user1=delai cela signifie que l'utilisateur pourra rester connecte au service pendant la duree precisee par le delai (en secondes). Si le nom d'util- isateur n'est pas present, ce delai est alors valable pour tous les utilisateurs. Un delai de ce type doit etre precise en avant la defini- tion des utilisateurs autorises. Exemple : v23,Annuaire electronique,3611,=180 v23,Teletel1,3613 v23,Teletel2,3614 tvr,Teletel TVR,3623 v23,Teletel3,3615,=60,user1@linuxbox:user2=120:user3:@pcwin @pipe,Acces ondee,/usr/bin/telnet ondee @pipe:crlf,Acces sidonie,/usr/bin/telnet sidonie @tcp,Acces Minitel TCP/IP,minitel.fr:513 @iminitel,Acces I-Minitel,connect_iminitel:7516 v23,Direct,0 Dans cet exemple le service, le service d'Annuaire est autorise a tous pendant 180 secondes (tant que c'est gratuit !). Le Teletel3 est accessible a tous les utilisateurs pendant 60 secondes, l'utilisateur user2 y a droit pendant 120 secondes. Les connexions provenant de "linuxbox" ne sont autorisees qu'a "user1". Tous les utilisateurs de "pcwin" ont droit au service. La derniere ligne definit une possibilite de numero de telephone direct (mot-cle Direct), l'utilisateur saisira directement le numero lors de la composition dans xtel. On utilise egalement le fichier "/usr/X11R6/lib/X11/xtel/xtel.lignes" qui definit les lignes disponibles et la procedure de composition. Ce fichier est de la forme : [Nom du device,] Nom de la ligne[:rtscts] , [Vitesse en bauds,] [Nombre de bits,] [Parite,] chat-script avec le modem , delai maxi de reponse du modem en secondes [,temporisation entre commandes en millisecondes.] Et ce pour chaque ligne utilisable. Si le premier champs (nom du device) est repete sur plusieurs lignes, cela signifie que plusieurs modem physiques sont associes au device logique. Le serveur utilisera alors automatiquement le premier modem disponible. Si la ligne commence par le caractere "/", on considere que l'ancienne syntaxe est utilisee. On peut ajouter au nom de la ligne la chaine :rtscts qui precise que cette ligne doit etre configuree en controle de flux hardware RTS/CTS. Cette configuration est generalement utile si la vitesse de ligne est superieure ou egale a 9600 (cas du TVR par exemple). On doit alors configurer le modem (dans le chat-script) afin qu'il gere correctement le RTS/CTS (en general par la commande AT&K3 sur un modem compatible HAYES). Les valeurs de vitesse possibles sont : 50, 75 110, 134, 150, 200, 300, 600, 1200, 1800, 2400, 4800, 9600, 19200, 38400, les valeurs de tailles de caracteres sont : 5, 6, 7, 8, les valeurs de parite sont : E, O, N. Un "chat-script" est une suite de paires chaine_emise/chaine_attendu entre un processus et un modem (voir UUCP). Si le chat-script est remplace par la chaine minitel2, la ligne est definie comme utilisant un Minitel 2 comme modem. Si le chat-script est remplace par la chaine minitel1, la ligne est definie comme utilisant un Minitel 1/1B comme modem. A ce moment la, le menu "Services" ne sera pas affiche dans xtel et l'utilisateur devra composer son numero a la main (le M1/M1B ne sachant theoriquement pas composer de numero). Le champ temporisation est optionnel et peut contenir une duree (en ms) d'attente entre l'envoi de chaque commande au modem dans la phase d'initialisation. Il permet un meilleur support de certains anciens modems qui n'acceptaient pas de recevoir un flot de commande trop rapide. S'il n'est pas precise, aucune temporisation n'est effectuee (c'est le comportement standard de xteld). Exemples : /dev/cua0,dat OK atdtT CONNECT,30 v23,/dev/cua1,1200,7,E,dat OK atdtT CONNECT,30,250 tvr,/dev/cua2:rtscts,9600,8,N,dat OK atdtT CONNECT,30 Ce fichier definit la ligne /dev/cua0 sur laquelle on deroule le chat-script suivant : d On attend 1 s pour laisser le modem souffler... at OK On emet at + CR et on attend OK atT CONNECT On emet at + le numero + CR et on attend CONNECT Le delai de reponse du modem est de 30 secondes maxi. Si le delai est depasse, xteld essayera sur la ligne suivante du fichier jusqu'a un succes ou la fin du fichier. La ligne v23 declare aussi une temporisation de 250ms entre chaque commande transmise au modem. Remarques : Le format du chat-script accepte les sequences suivantes : a BELL envoie LF envoie CR envoie VT d tempo de 1 s T envoie le numero de telephone abc envoie le caractere code en DECIMAL par abc (3 digits obligatoires) xab envoie le caractere code en HEXADECIMAL par ab (2 digits) Pour certains modems, il faudra OBLIGATOIREMENT preciser une tempo d avant la premier commande at. Dans le cas d'un fonctionnement en reseau, xteld utilise a priori le port TCP numero 1313 defini dans le fichier "/etc/services" VOIR AUSSI
xtel inetd FICHIERS
/usr/X11R6/lib/X11/xtel/xtel.lignes /usr/X11R6/lib/X11/xtel/xtel.services /usr/X11R6/lib/X11/xtel/xtel.log /etc/services /etc/inetd.conf COPYRIGHT
Copyright 1991-98, LECTRA-SYSTEMES et Pierre Ficheux AUTEUR
Pierre FICHEUX LECTRA-SYSTEMES ZI Marticot 33610 Cestas FRANCE 4.2 Berkeley Distribution Lectra-Systemes XTELD(8)
All times are GMT -4. The time now is 12:32 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy