Merci mais en fait j'ai des trous dans la numérotation ce qui fait qu'il y a un décalage à partir de la... je cherche un méthode pour vraiement récupérer les infos ligne par ligne. exemple si par exemple il n'y a pas de ville2: ville1 -> Lille ville3 -> Paris etc... si vous voyez comment faire je suis preneur.
Merci beaucoup pour ta proposition de solution mais le fichier des villes contenant plusieurs centaines de lignes ça vas pas être faisable comme ça je pense malheureusement. Il faut absolument que je lise les 2 fichiers et que je remplace toutes les occurrences comme par exemple ville1 par Lille, ville2 par Paris etc...
Tout a fait. Entre temps j'ai changé adresse pas ville dans mon exemple mais c'est bien ça ville1 correspond bien à la première ligne du fichier2, adresse2 à le deuxième...
Non aucun trou.
Les fichiers font plusieurs centaines de lignes.
Trop de ligne pour gérer chaque ligne dans une variable je pense.
Je pense qu'il faut charger la première ligne du fichier2 (Paris), faire un sed avec substitution globale dans le fichier1 pour remplacer tout les ville1 par Paris, ensuite charger la seconde ligne du fichier2 et refaire un sed etc... mais j'ai du mal (je débute en scripting et j'ai du mal a imbriquer 2 boucles
J'essaye de comprendre le fonctionnement de la commande join car j'obtiens ceci quand je la tente même en demandant de joindre les 2 fichiers sur le champ 1 :
join: fichier 2 n'est pas dans l'ordre attendu
join: fichier 1 n'est pas dans l'ordre attendu
Est-tu sur que cette commande est adaptée à ce que je souhaite faire ? Sachant que les 2 fichier n'ont pas de champs commun...
[^] # Re: deja tu peux en avoir un 9e
Posté par fredlabidouille . En réponse au message Comment utiliser plus de 8 arguments dans un script shell ?. Évalué à 1.
En fait j'utilise déjà le $1 plus loin dans le script...
[^] # Re: Mot entier
Posté par fredlabidouille . En réponse au message Astuce pour faire une substitution sur une chaine et pas les autres la comprenant ? RESOLU. Évalué à 1.
Ça fonctionne nickel ! Merci beaucoup !
[^] # Re: Mot
Posté par fredlabidouille . En réponse au message Astuce pour faire une substitution sur une chaine et pas les autres la comprenant ? RESOLU. Évalué à -2.
Bonjour et merci mais je vais utiliser la solution de netsurfeur qui est plus simple.
[^] # Re: Mot
Posté par fredlabidouille . En réponse au message Astuce pour faire une substitution sur une chaine et pas les autres la comprenant ? RESOLU. Évalué à 0.
Bonjour et merci mais je vais utiliser la solution de netsurfeur qui est plus simple.
# Résolu
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
Bonjour,
Le problème à été résolu de la manière suivante :
i=1
while read line
do
valeur=$(sed -n "${i}p" fichier2)
sed -i "s/${line%% *}/${valeur}/Ig" fichier1
((i++))
done < fichier1
N.B. : La solution n'est pas de moi mais d'une personne d'un autre forum
Merci à tous pour votre aide et vos conseils.
[^] # Re: solution en bash
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
J'ai du mal à comprendre ta premiere ligne :
ville=( "" Lille Paris Lyon Toulouse )
Ca met juste dans la variable les 4 premieres valeurs du fichier mais ça ne lis pas tous le fichier.
[^] # Re: sed quand même
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
MErci mais en fait j'ai de trous dans le numérotation donc ça n e fonctionne pas encore... je modifie à nouveau mon post de départ. Désolé.
[^] # Re: Plus simple :
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
Merci mais en fait j'ai des trous dans la numérotation ce qui fait qu'il y a un décalage à partir de la... je cherche un méthode pour vraiement récupérer les infos ligne par ligne. exemple si par exemple il n'y a pas de ville2: ville1 -> Lille ville3 -> Paris etc... si vous voyez comment faire je suis preneur.
[^] # Re: typo :°
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
Comme dit au dessus mes fichiers font plusieurs centaines de lignes... ça ne passera donc pas avec ta solution il me semble malheureusement.
[^] # Re: solution en bash
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
Merci beaucoup pour ta proposition de solution mais le fichier des villes contenant plusieurs centaines de lignes ça vas pas être faisable comme ça je pense malheureusement. Il faut absolument que je lise les 2 fichiers et que je remplace toutes les occurrences comme par exemple ville1 par Lille, ville2 par Paris etc...
[^] # Re: explications ?
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
Tout a fait. Entre temps j'ai changé adresse pas ville dans mon exemple mais c'est bien ça ville1 correspond bien à la première ligne du fichier2, adresse2 à le deuxième...
Non aucun trou.
Les fichiers font plusieurs centaines de lignes.
Trop de ligne pour gérer chaque ligne dans une variable je pense.
Je pense qu'il faut charger la première ligne du fichier2 (Paris), faire un sed avec substitution globale dans le fichier1 pour remplacer tout les ville1 par Paris, ensuite charger la seconde ligne du fichier2 et refaire un sed etc... mais j'ai du mal (je débute en scripting et j'ai du mal a imbriquer 2 boucles
[^] # Re: join ?
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
De plus j'avais oublié que le champs1 pouvait se retrouver ailleurs dans le fichier1... désolé. Je mets à jour le post.
[^] # Re: join ?
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
A présent j'en suis sur. Je ne peux pas faire cela avec join car il faut un champs commun dans les deux fichiers ce qui n'est pas mon cas...
[^] # Re: join ?
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
J'essaye de comprendre le fonctionnement de la commande join car j'obtiens ceci quand je la tente même en demandant de joindre les 2 fichiers sur le champ 1 :
join: fichier 2 n'est pas dans l'ordre attendu
join: fichier 1 n'est pas dans l'ordre attendu
Est-tu sur que cette commande est adaptée à ce que je souhaite faire ? Sachant que les 2 fichier n'ont pas de champs commun...
[^] # Re: join ?
Posté par fredlabidouille . En réponse au message Comment récupérer des valeurs dans un fichier pour effectuer une substitution dans un autre ? RESOLU. Évalué à 0.
Peut être... je regarde le man de join et je tente... merci.