J'ai essayé ce d'innombrables façons, le temps de jeter l'éponge et de demander au maître ...remplacement variables sed
#!/bin/bash
# Read in the VERSION.header file, this is a plain text file
# with returns, which in some of my tests, I am loosing the returns and getting
# one string wrapped only by the shell width
VERSION_HEADER=`cat VERSION.header`
sed 's/_VERSION_HEADER_/"$VERSION_HEADER"/g' DOCUMENTATION
La chaîne « _VERSION_HEADER_ » existe actuellement 1 ligne dans le fichier DOCUMENTATION. Le fichier 'VERSION.header' contient environ 18 lignes.
Je ne suis pas attaché à utiliser sed. Tout ce que je cherche à faire est de lire dans un fichier qui sert de modèle, de stocker les fichiers en tant que variables, de les lire dans un second fichier, de les stocker en tant que variables. Regardez dans le second fichier pour un marqueur, remplacez le marqueur par les données du premier fichier.
Exemple:
$ cat VERSION.header
hi, this is my header file, how are you today
good, that is nice, great
have a nice day, k, thx, bye.
$ cat DOCUMENTATION
_VERSION_HEADER_
# This is a documentation file, please read it
# If you do not read it, you will get stuck to the toilet.
Et le résultat devrait être:
Salut, voici mon fichier d'en-tête, comment allez-vous aujourd'hui
bien, c'est gentil , super
passez une bonne journée, k, merci, au revoir.
# Ceci est un fichier de documentation, s'il vous plaît lire
# Si vous ne lisez pas, vous obtiendrez coincé aux toilettes.
Quel est le résultat que vous avez obtenu? – hudolejev
duplication possible de [Remplacer un texte par une variable (sed)] (http: // stackoverflow.com/questions/16297052/replace-a-text-with-a-variable-sed) – tripleee