Sed ne veut pas interpréter ma variable

Résolu
Bonjour,
j'essai d'insérer le contenu d'une variable au début d'un fichier mais aprés beaucoup d'essai je n'y arrive pas

ma commande de base:

sed -i '1i$d' fichier

evidemment ca m'affiche $d a la place du contenu de $d
j'ai essayer avec des \ et ' et "
je n'arrive pas

merci pour votre aide

Zil...
Configuration: Linux
Firefox 3.0.5

3 réponses

  • Votes
  • Date
  • Date décroissante
  1. Modérateur
    Salut,

    Normalement des quotes doubles autour devrait suffire :
    sed -i "1i$d" fichier
    Mais bon...
    sed -i '1i'"$d"'' fichier
    La même avec des espaces entre les différentes quotes pour que ce soit plus lisible...
    sed -i '1i'  "$d"  '  ' fichier
    SED - Le remplacement de variables
    1. merci mais j'ai essayé ca aussi et ca ne marche pas
      j'avais bien lu le lien que tu me donnes

      en fait dans $d j'ai ca

      d=date +%Y.%m.%D-%H.%M.%S
      puis je fais le sed pour inserer la date en haut d'un fichier texte
      mais rien a faire, soit il met $d soit il ne met rien

      j'ai aussi essayé "1i$d" avec les " pour qu'il interprete la variable

      y'a un truc?
      Zil...
      1. Modérateur
        d=date +%Y.%m.%D-%H.%M.%S
        Ta variable est déclarée tel quel ?

        Ou plutôt comme ça ?
        d=$(date +%Y.%m.%D-%H.%M.%S)

        Sinon, chez moi ça marche sans soucis avec d=$(date +%Y.%m.%D-%H.%M.%S) et "1i$d"

        ?! ;-\
    2. Ok bravo, j'y travaille depuis hier 21h et hop, voila la solution
      le probleme etait dans la variable...

      je ne connaissais pas cette façon de déclarer les variables

      un GRAND merci

      Zil...