#1 Le 16/08/2015, à 07:04
- Dj Shorty
[Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Bonjour,
Voilà aujourd'hui j'ai des valeurs dans un fichiers A que je dois copier dans un fichier B
Le fichier B à des mot définie type 1 2 3 4 et attendent d'être modifier par les valeurs dans le fichier A.
Est-ce possible ? Merci
J'essaye de donner un exemple
Ligne 1 du fichier A se remplace par le mot 3 du fichier B
Ligne 2 du fichier A se remplace par le mot 1 du fichier B
...
...
Dernière modification par Dj Shorty (Le 19/08/2015, à 16:39)
Hors ligne
#2 Le 16/08/2015, à 07:39
- pingouinux
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Bonjour,
Peux-tu donner un exemple concret (quelques lignes) : le fichier A, le fichier B, le résultat attendu.
Hors ligne
#3 Le 16/08/2015, à 17:06
- Dj Shorty
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Bonjour,
Oui bien sûre
Fichier A.txt
1 toto
2 tata
3 titi
3 toto
5 tutu
6 toutou
Fichier B.txt
1 123 remplacer par titi
2 456
3 789
4 258 remplacer par toto
5 128 remplacer par tutu
6 .....
Hors ligne
#4 Le 16/08/2015, à 17:24
- cqfd93
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Bonjour,
Et quels sont les critères de remplacement, quelle est la logique de tout ça ? Dans cet exemple, ça me semble complètement aléatoire.
− cqfd93 −
Hors ligne
#5 Le 16/08/2015, à 18:47
- Dj Shorty
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Bonjour,
C'est sa le fichier A contient des valeurs aléatoires mais j'ai déjà fait le script qui vérifie l'entrée de nouvelle valeurs dans le fichiers A et si elle sont modifiées alors les remplacer dans le fichiers B
Le fichier B à des Regex prédéfinie qui attendent les valeurs du fichier A oui les valeurs sont aléatoires. Les valeurs renseigner dans A je ne les connais pas car ce sont des schedules qui vont renseignées des valeurs chaque jour dans le fichier A.
Mon script dois prendre ses valeurs pour les mettre dans un fichier de conf chaque jour aussi. Bien sur c'est un début de script et prendre une valeur aléatoire pour la remplacée par une valeur aléatoire aussi risque d'être compliqué pour l'instant et je ne suis pas pro scripting, donc je remplace le fichier par un fichier neutre avec des regex prédéfinis qui serons remplacer par les nouvelles valeurs.
J'ai déjà tenté de rediriger un résultat vers une ligne d'un fichier, mais il ne fait que de l'afficher et non l'enregistrer.
Donc je passe par un fichier .txt ou les valeurs sont enregistrer d'abord dans un fichier txt et ensuite ses valeurs je veut les assignées dans mon fichier de conf.
j'avais pensez à lire la ligne N du fichier A pour l'exporter dans le fichier B à la place de la regex
Dernière modification par Dj Shorty (Le 16/08/2015, à 18:56)
Hors ligne
#6 Le 16/08/2015, à 19:20
- pingouinux
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Désolé, je n'ai rien compris…
Hors ligne
#7 Le 16/08/2015, à 19:31
- Dj Shorty
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
ça va être compliquer alors.
Dans mon fichier A je sais que 5 valeurs vont y être intégrer, ses valeurs la je dois les remplacer par des mots dans un fichier B.
Hors ligne
#8 Le 16/08/2015, à 19:54
- nany
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Bonjour,
pas bien compris non plus mais voici une proposition pour ce que j’ai cru comprendre :
while read line
do
case $line in
titi)
sed -i "s/123/${line}/" B.txt
;;
toto)
sed -i "s/258/${line}/" B.txt
;;
tutu)
sed -i "s/128/${line}/" B.txt
;;
*)
;;
esac
done < A.txt
Hors ligne
#9 Le 16/08/2015, à 19:58
- Dj Shorty
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Bonjour,
Je vais testé cela j'ai bien l’impression que c'est ce dont je cherche probablement avec quelque modification mais je vais voir déjà le résultat de cette boucle.
Merci en tout cas pour l'aide je vous tiens au courant.
Hors ligne
#10 Le 17/08/2015, à 21:56
- Dj Shorty
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Bonsoir Nany,
Merci à toi j'ai pu comprendre et faire exactement ce que je voulais c'est parfait ta réponse a éclaircie ma lanterne.
J'avais une autre petite question par exemple en BASH comment on peut faire par exemple pour implémenter :
Ex :
echo "1EX"
deviennent après une boucle effectuer
echo "2EX"
Hors ligne
#11 Le 18/08/2015, à 07:23
- pingouinux
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
printf "%s\n" {1..3}"EX"
Résultat
1EX
2EX
3EX
Ajouté : Ou bien
printf "%sEX\n" {1..3}
Dernière modification par pingouinux (Le 20/08/2015, à 05:18)
Hors ligne
#12 Le 18/08/2015, à 13:06
- nany
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Bon, eh bien, j’ai eu de la chance de comprendre ce que tu souhaitais.
Pour l’implémentation, il existe différentes manières de procéder. L’exemple de pingouinux ci-dessus en est une. Et, puisque tu parle de boucle, voici un autre exemple :
for i in {1..3}
do
echo "${i}EX"
done
Sinon, on peut aussi procéder à par incrémentation. Par exemple, en reprenant le code que j’ai donné précédemment, on pourrait incrémenter seulement si on trouve titi, toto ou tutu :
i=0
while read line
do
case $line in
titi)
sed -i "s/123/${line}/" B.txt
((i++))
;;
toto)
sed -i "s/258/${line}/" B.txt
((i++))
;;
tutu)
sed -i "s/128/${line}/" B.txt
((i++))
;;
*)
;;
esac
echo "${i}EX"
done < A.txt
Enfin, si tu te poses déjà des questions pour une simple incrémentation, je te conseille ce guide en français qui t’apprendra probablement pas mal de choses. Ou, si tu es à l’aise avec l’anglais, voici la version originale.
Hors ligne
#13 Le 19/08/2015, à 10:37
- Dj Shorty
Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B
Hello à vous,
Pingouinux merci pour cette méthode sa en fait une de plus au cas où que je retiens
Nany c'est juste parfait
Je vous remercie à tous pour votre patience et vos réponse.
Merci aussi pour ce lien que tu m'as donner il à l'air très très complet
Je met en résolu pour le tout.
Hors ligne