[Shell] Manipulation de fichers
Résolu
raktabija
Messages postés
5
Statut
Membre
-
jipicy Messages postés 41342 Statut Modérateur -
jipicy Messages postés 41342 Statut Modérateur -
Bonjour à tous,
voila j'ai actuellement deux fichiers qui ont la structure suivantes:
fichier 1:
identifiant1 blablalbla
chainequivabien ""
identifiant2 blalvlala
chainequivabien ""
identifiant3 blablalvba
chainequivabien ""
.....
Fichier 2:
identifiant1 mot1
identifiant2 mot2
identifiant3 mot3
.....
Ce que je cherche à faire c'est insérer dans le fichier 1 entre les caractères "" le motX en fonction de l'identifiant associé. Le fichier en sorti devrait donc ressembler à ceci:
identifiant1 blablalbla
chainequivabien "mot1"
identifiant2 blalvlala
chainequivabien "mot2"
identifiant3 blablalvba
chainequivabien "mot3"
Si quelque'un pouvait m'aider car je ne vois absoluement pas comment faire (et je dois faire ça en shell).
Merci d'avance à tous
voila j'ai actuellement deux fichiers qui ont la structure suivantes:
fichier 1:
identifiant1 blablalbla
chainequivabien ""
identifiant2 blalvlala
chainequivabien ""
identifiant3 blablalvba
chainequivabien ""
.....
Fichier 2:
identifiant1 mot1
identifiant2 mot2
identifiant3 mot3
.....
Ce que je cherche à faire c'est insérer dans le fichier 1 entre les caractères "" le motX en fonction de l'identifiant associé. Le fichier en sorti devrait donc ressembler à ceci:
identifiant1 blablalbla
chainequivabien "mot1"
identifiant2 blalvlala
chainequivabien "mot2"
identifiant3 blablalvba
chainequivabien "mot3"
Si quelque'un pouvait m'aider car je ne vois absoluement pas comment faire (et je dois faire ça en shell).
Merci d'avance à tous
A voir également:
- [Shell] Manipulation de fichers
- Classic shell - Télécharger - Personnalisation
- Classic shell c'est quoi ✓ - Forum Windows 10
- Shell addition ✓ - Forum Shell
- Secure shell - Télécharger - Divers Web & Internet
- Shell infrastructure host c'est quoi - Guide
7 réponses
non pas du tout, c'est pour le boulot, je dois faire ça mais je ne suis pas développeur et je n'ai donc pas d'outils à ma disposition.
ça fait quelques années que je suis plus sur les bancs de l'école ;-)
ça fait quelques années que je suis plus sur les bancs de l'école ;-)
Salut,
Alors si c'est pour boulot, et seulement le résultat compte, pour quoi se limiter à shell.
Perl ne te conviens pas?!
Alors si c'est pour boulot, et seulement le résultat compte, pour quoi se limiter à shell.
Perl ne te conviens pas?!
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Bon je supposerai que les guillemets sont les seuls sur la ligne "chainequivabien" et qu'il n'y en a pas sur la ligne précédente...
Je supposerai aussi que tu disposes d'une version de "sed" acceptant l'option "-i"...
Je supposerai aussi que tu disposes d'une version de "sed" acceptant l'option "-i"...
jp@MDK:~/tmpfs ssh$ cat fich1
identifiant1 blablalbla
chainequivabien ""
identifiant2 blalvlala
chainequivabien ""
identifiant3 blablalvba
chainequivabien ""
jp@MDK:~/tmpfs ssh$ cat fich2
identifiant1 mot1
identifiant2 mot2
identifiant3 mot3
jp@MDK:~/tmpfs ssh$ cat foo.sh
#! /bin/sh
#set -xv
while read line
do
sed -i "/${line% *}/{n;s/\"\"/\"${line#* }\"/}" fich1
done < fich2
jp@MDK:~/tmpfs ssh$ ./foo.sh
jp@MDK:~/tmpfs ssh$ cat fich1
identifiant1 blablalbla
chainequivabien "mot1"
identifiant2 blalvlala
chainequivabien "mot2"
identifiant3 blablalvba
chainequivabien "mot3"
jp@MDK:~/tmpfs ssh$
;-))
Pas de soucis, je récupère ça dans deux min sur ma bécanne, mais alors en perl je m'y connais encore mois