Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1422 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  concatener deux fichiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

concatener deux fichiers

n°1567755
deck10
Posté le 31-05-2007 à 11:40:09  profilanswer
 

bonjour,
je voudrai écrire un script shell qui concatène deux fichiers. Après plusieurs essais trouvés le web, je n'y arrive pas. :(
 
Voici ce que je voudrais faire:
 
fichier 1   fichier 2
a a           1 1
b b           2 2
c c           3 3
 
je voudrai créer un fichier 3 contenant
a a 1 1
b b 2 2
c c 3 3
 
Quelqu'un peut-il m'aider?
Merci.


Message édité par deck10 le 31-05-2007 à 11:59:55
mood
Publicité
Posté le 31-05-2007 à 11:40:09  profilanswer
 

n°1567836
matafan
Posté le 31-05-2007 à 13:06:13  profilanswer
 

Avec awk :

awk 'BEGIN{while((getline a<ARGV[1])>0){getline b<ARGV[2];print a b}}' fichier1 fichier2


Message édité par matafan le 31-05-2007 à 13:07:11
n°1568017
deck10
Posté le 31-05-2007 à 15:14:58  profilanswer
 

j'ai exécuté cette commande directement dans un shell:
awk 'BEGIN{while((getline a<ARGV[1])>0){getline b<ARGV[2];print a b}}' tmp_metrics tmp_noms
 
Et j'ai eu ca comme erreurs :(
awk: syntax error near line 1
awk: illegal statement near line 1
awk: syntax error near line 1
awk: bailing out near line 1
 
Tu sais ce que cela signifie?


Message édité par deck10 le 31-05-2007 à 15:15:15
n°1568037
matafan
Posté le 31-05-2007 à 15:26:56  profilanswer
 

Il est tout pourri ton awk. J'ai copié-collé ta ligne dans mon shell, et ça marche sans problème à la fois avec gawk sous linux, et avec awk sous AIX.

n°1568050
deck10
Posté le 31-05-2007 à 15:38:44  profilanswer
 

:(
c'est une machine sun.
Ca doit venir là alors mon problème si ca marche de ton coté.
 
Il n'y a pas une autre possibilité?

n°1568059
deck10
Posté le 31-05-2007 à 15:46:43  profilanswer
 

ou sinon, ya un moyen de mettre à jour mon awk?

n°1568191
aigles
Posté le 31-05-2007 à 17:35:30  profilanswer
 

deck10 a écrit :

ou sinon, ya un moyen de mettre à jour mon awk?


Essaye nawk au lieu de awk. C'est une version plus récente de awk présente sur certains OS.
 
Ceci étant, la commande paste devrait faire l'affaire :

paste -d ' ' fichier1 fichier2


 
Jean-Pierre.

n°1568298
matafan
Posté le 31-05-2007 à 19:58:57  profilanswer
 

Bien vu paste, je ne connaissais pas.

n°1568324
Sve@r
Posté le 31-05-2007 à 21:19:39  profilanswer
 

matafan a écrit :

Il est tout pourri ton awk. J'ai copié-collé ta ligne dans mon shell, et ça marche sans problème à la fois avec gawk sous linux, et avec awk sous AIX.


Oui mais tu dois probablement utiliser des awk "évolués" (ceux qui connaissent argv par exemple). Le awk de base ne connait pas argv...


---------------
Vous ne pouvez pas apporter la prospérité au pauvre en la retirant au riche.
n°1568453
deck10
Posté le 01-06-2007 à 10:45:44  profilanswer
 

merci,
paste marche comme je veux. Parfait :)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  concatener deux fichiers

 

Sujets relatifs
[Résolu] Conflit entre deux fichiers js (plusieurs onLoad)téléchargement de fichiers en PHP
Importer fichiers multiples excel => accessTraitement par lot, convertir les fichiers avec la mêm extention
Supprimer tous les fichiers *.rar d'un repertoire[DOS] concaténer fichiers sous DOS (sans le dernier caractere)
Concatener deux fichiers en Fortranconcaténer des fichiers
Concatener 2 fichiersCOMMENT CONCATENER PLUSIEURS FICHIERS TXT
Plus de sujets relatifs à : concatener deux fichiers


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR