Sed ne veut pas interpréter ma variable

Résolu
zil Messages postés 33 Statut Membre -  
zil Messages postés 33 Statut Membre -
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

  1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
     
    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
    0
  2. zil Messages postés 33 Statut Membre 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...
    0
    1. jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 898
       
      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"

      ?! ;-\
      0
  3. zil Messages postés 33 Statut Membre 1
     
    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...
    0