Précédent   Forum des professionnels en informatique > Systèmes > Linux
Linux Forum d'entraide sur le système Linux. Avant de poster -> Tutoriels Linux, F.A.Q Linux
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
Vieux 14/03/2010, 12h08   #1
Invité de passage
 
Inscription : avril 2009
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 2
Points : 0
Points : 0
Par défaut commande sur linux

j'ai un fichier contenant déjà des colonnes(des enregistrements) je veux copier une d'entre eux et la concaténer dans un autre fichier qui n'est pas vide il contient lui aussi d'autres colonnes;
S'il vous plait de m'indiquer la syntaxe d'une commande sur linux qui m'aide sur ce truc!
merci pour votre aide!
meriemeriem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 14/03/2010, 18h44   #2
Expert Confirmé
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 1 896
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 1 896
Points : 3 676
Points : 3 676
Vu le manque de précision...

en supposant que l'on veut "extraire" la deuxième colonne du fichier fileA
pour l'ajouter à la fin (concaténer) du fichier fileB:
Code :
awk '{print $2}' fileA >>fileB
...
?
ou join ?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2010, 11h57   #3
Invité de passage
 
Inscription : avril 2009
Messages : 2
Détails du profil
Informations forums :
Inscription : avril 2009
Messages : 2
Points : 0
Points : 0
Citation:
Envoyé par N_BaH Voir le message
Vu le manque de précision...

en supposant que l'on veut "extraire" la deuxième colonne du fichier fileA
pour l'ajouter à la fin (concaténer) du fichier fileB:
Code :
awk '{print $2}' fileA >>fileB
...
?
ou join ?
merci
mais pour cette commande la colonne sera à la fin de fileB alors que j'en ai besoin a coté des autres colonnes de fileB comme si une matrice;
fileB contient: colonne1,...,j,j+1 la colonne j+1 c'est la colonne copiée de fileA.
Peut être que c'est pas une seule commande mais un petit code
merci pour votre réponse!
meriemeriem est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2010, 12h55   #4
Expert Confirmé
 
Avatar de N_BaH
 
Inscription : février 2008
Messages : 1 896
Détails du profil
Informations forums :
Inscription : février 2008
Messages : 1 896
Points : 3 676
Points : 3 676
Code :
1
2
3
4
5
6
7
8
9
10
11
12
#!/bin/bash
 
n=2 #par exemple
 
exec 3<fileA
 
while read lineB
do read -u 3 -a lineA
#pour la colonne n de fileA
   echo "$lineB ${lineA[n-1]}"
done <fileB >fileC
mv fileC fileB
...
?

Tu as regardé si join pouvait t'être utile ?
N_BaH est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 15/03/2010, 13h32   #5
Membre chevronné
 
Inscription : septembre 2007
Messages : 685
Détails du profil
Informations personnelles :
Âge : 48
Localisation : Suisse

Informations forums :
Inscription : septembre 2007
Messages : 685
Points : 723
Points : 723
Bonjour,

Un exemple de quelques lignes des fichiers sources fileA, fileB et du fichier destination fileC serait le bienvenu.
__________________
Un problème bien posé est déjà résolu (H. Bergson).
jmelyn est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +1. Il est actuellement 03h35.


 
 
 
 
Partenaires

Hébergement Web