[Shell] Manipulation de fichers
Résolu
raktabija
Messages postés
5
Date d'inscription
Statut
Membre
Dernière intervention
-
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
jipicy Messages postés 40842 Date d'inscription Statut Modérateur Dernière intervention -
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