Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 16/08/2015, à 08: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, à 17:39)

Hors ligne

#2 Le 16/08/2015, à 08: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, à 18: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, à 18: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, à 19: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, à 19:56)

Hors ligne

#6 Le 16/08/2015, à 20: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, à 20:31

Dj Shorty

Re : [Résolu]Copier ligne d'un fichier A vers un mot d'un fichier B

big_smile ç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, à 20: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, à 20: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, à 22: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, à 08: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, à 06:18)

Hors ligne

#12 Le 18/08/2015, à 14: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. big_smile
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, à 11: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 big_smile

Je met en résolu pour le tout.

Hors ligne