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

  FORUM HardWare.fr
  Linux et OS Alternatifs

  Concatener horizontalement des fichiers

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Concatener horizontalement des fichiers

n°770439
zoidberg
Gloire au crapaud Hypno!!
Posté le 11-01-2006 à 16:19:27  profilanswer
 

Bonjour les pros,
 
Je souhaite concatener plusieurs fichiers dans un seul, mais comme c'est trop simple, j'aurai besoin de les concatener horizontalement... je m'explique:
j'ai un fichier qui contient:
A
B
C
et un autre qui contient:
1
2
3
et bien je voudrais obtenir:
A 1
B 2
C 3
mais avec plus que deux fichiers (ou alors a repeter la commander avec un script, c'est pas un probleme).
Y a t-il une commande qui permet de faire ca simplement et rapidement?
Tout ca pour remettre cote a cote des infos sorties d'un sar et me permettre de faire des jolis graphes.
 
Merci,
Max

mood
Publicité
Posté le 11-01-2006 à 16:19:27  profilanswer
 

n°770440
enfoiro
a nickname is just a nickname
Posté le 11-01-2006 à 16:21:18  profilanswer
 

Salut
 
Renseigne toi sur awk
 
a+
 
foiro

n°770441
Tomate
Posté le 11-01-2006 à 16:21:43  profilanswer
 

avec ultraedit [:dawa]


---------------
:: Light is Right ::
n°770444
zoidberg
Gloire au crapaud Hypno!!
Posté le 11-01-2006 à 16:27:31  profilanswer
 

Merci pour awk je connais, mais le but c'est de le faire souvent sur pas mal de machines, donc si une commande existait ca serait pas mal du tout et ca me simplifierait grandement la vie.
maintenant s'il n'existe rien, ben je scripterai...
 
Concernant ultraedit euh... comment dire... non!
 
ah oui parceque j'ai pas dit mais ca sera sur des machines linux/unix...
 
Merci quand meme ;)

n°770449
Tomate
Posté le 11-01-2006 à 16:33:11  profilanswer
 

moue à ma connaissance il n'y a pas une commande qui fait ça spécifiquement :/
d'ailleurs c'est vrai que j'en ai déjà eu besoin et j'ai dû scripter ou utiliser ultraedit


---------------
:: Light is Right ::
n°770575
paco81
Posté le 11-01-2006 à 22:05:40  profilanswer
 

allez hop, je me suis amusé à le faire en python.
 
#!/usr/bin/python
import sys
l = []
for i in range(1, sys.argv.__len__()):
    l.append(open(sys.argv[i]).readlines())
nlinesmax = map(lambda x: x.__len__(), l)
nlinesmax.sort()
nlinesmax = nlinesmax[-1]
for i in range(nlinesmax): #boucle lignes
    for j in range(l.__len__()): # boucle fichiers
        try: sys.stdout.write(l[j][i][:-1])
        except: pass
    print
 
et ça s'utilise comme ça : machin.py fichier1 fichier2 fichier3...

n°770810
zoidberg
Gloire au crapaud Hypno!!
Posté le 12-01-2006 à 14:22:42  profilanswer
 

:love: Merci bien m'sieur, tu m'economises un mal de tete ;)
faudrait qu'un jour je m'y mette au python parceque ca a l'air bien sympathique.
En tout cas merci, ca marche au poil!!!

n°770829
Tomate
Posté le 12-01-2006 à 14:40:13  profilanswer
 

c'est pas très beau comme langage à 1ère vue :o


---------------
:: Light is Right ::
n°770852
paco81
Posté le 12-01-2006 à 15:02:10  profilanswer
 

Tomate a écrit :

c'est pas très beau comme langage à 1ère vue :o


la moindre des politesses serait de nous permettre la comparaison, en nous montrant ce que ça donne dans un autre langage plus "beau"...  :na:

n°770870
Tomate
Posté le 12-01-2006 à 15:17:59  profilanswer
 

paco81 a écrit :

la moindre des politesses serait de nous permettre la comparaison, en nous montrant ce que ça donne dans un autre langage plus "beau"...  :na:


[:ddr555]
 
vous imaginez tous très bien ça en perl non ? :o


---------------
:: Light is Right ::
mood
Publicité
Posté le 12-01-2006 à 15:17:59  profilanswer
 

n°770884
memaster
ki a volé mon 62?
Posté le 12-01-2006 à 15:31:39  profilanswer
 

en pascal?? :lol:

n°770895
paco81
Posté le 12-01-2006 à 15:49:22  profilanswer
 

Tomate a écrit :

[:ddr555]
 
vous imaginez tous très bien ça en perl non ? :o


 
ouais, ça donne un truc comme ça : http://www.99-bottles-of-beer.net/ [...] l-737.html
non ?  :lol:

n°770896
arsunik
ma tuxitude me beastifie
Posté le 12-01-2006 à 15:51:03  profilanswer
 

En awk :

Code :
  1. awk '{l[FNR] = l[FNR] $0} END { for(i in l) print l[i] }'


n°770899
Tomate
Posté le 12-01-2006 à 15:52:45  profilanswer
 

paco81 a écrit :

ouais, ça donne un truc comme ça : http://www.99-bottles-of-beer.net/ [...] l-737.html
non ?  :lol:


[:rofl]


---------------
:: Light is Right ::
n°770976
enfoiro
a nickname is just a nickname
Posté le 12-01-2006 à 16:56:57  profilanswer
 

Salut
 
Le pb c qu'en perl c tres tres lent. J'ai fait de la concat de fichiers dans ce language et en java ca va 10000 fois plus vite a peu pres. Ptet que mon code était pas optimisé, mais en tt cas je déconseille.
 
a+
 
foiro

n°770979
Tomate
Posté le 12-01-2006 à 17:00:48  profilanswer
 

ça dépend de la taille des fichiers bien sûr


---------------
:: Light is Right ::

Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  Concatener horizontalement des fichiers

 

Sujets relatifs
pb copie de fichiers avec la commande cpPb: Disparition de fichiers sur une partition en FAT32
problème accès si l'utilisateur n'est pas propriétaire des fichiersuser-group des fichiers cvs
comment restaurer les fichiers dans /boot[UNIX] Compter les fichiers dans un rep
[Mandriva 2006] Utilitaire pour configurer le partage de fichiersUploader Fichiers Mp3
Quel répertoire conseillé pour les fichiers temporaires?Recadrage video, modification de fichiers video
Plus de sujets relatifs à : Concatener horizontalement des fichiers


Copyright © 1997-2025 Groupe LDLC (Signaler un contenu illicite / Données personnelles)