Utilisation sed avec delimiteurs numérique dans variables

Résolu
Bonjour,

Voici mon pb sur un fichier zsh:

vardebut=0
varfin=4

sed '$vardebut,$varfind' /monfichier

évidemment ça ne marche pas

Quelqu'un saurait il comment faire?

Merci

6 réponses

  1. Contributeur
    hello
    utiliser des guillemets
    sed "$vardebut,$varfind" /monfichier
    entre ' les variables ne sont pas résolues
    1. Merci, mais,
      le problème c'est que le 'd' après varfin, c'est l'option de suppression de sed qui est de la forme:
      sed '0,4d' /monfichier avec 0 la première ligne de l'intervalle et 4 la dernière.

      comment séparer le d de la variable? (quel symbole?)
      1. voici mon script exact avec la correction que tu me suggère:

        ------------------------
        #/bin/zsh
        echo "entrer nom site "
        read nomsite
        intervalle=2
        numline=$(grep -n $nomsite".local" /Users/alexandre/Sites/httpd-vhosts.conf | cut -d ":" -f1)
        numlineEnd='expr $numline + $intervalle'
        numlineBeg='expr $numline - $intervalle'
        sed "{$numlineBeg},{$numlineEnd}d" /Users/alexandre/Sites/httpd-vhosts.conf
        echo $numlineBeg
        echo $numlineEnd

        -----------

        et voici l'exécution:

        MacBook-Pro-de-alexandre:Desktop alexandre$ ./essai.sh
        entrer nom site
        site1
        sed: 1: "{13},{17}d": command } expects up to 0 address(es), found 1
        13
        17
        MacBook-Pro-de-alexandre:Desktop alexandre$