Sed - suppression ligne avec chemin dossier

Fermé
antoinebe - 6 oct. 2011 à 13:55
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 6 oct. 2011 à 13:58
Bonjour,

Je viens vers vous concernant une manip pour laquelle je m'arrache les cheveux :/

Je n'arrive pas à supprimer une ligne contenant le chemin d'un dossier en utilisant sed.

Voilà, je souhaiterais supprimer une ligne de mon fstab, celle contenant le dossier suivant
/home/test/

J'ai donc tenté avec
sed -i.old '//home/test//d' /etc/fstab


Résultat =>
sed: -e expression n°1, caractère 4: caractères inutiles après la commande

J'ai donc tenté en changeant les séparateurs
sed -i.old ';/home/test/;d' /etc/fstab

ou
sed -i.old '#/home/test/#d' /etc/fstab


Résultat pas meilleur =>
sed: -e expression n°1, caractère 9: caractères inutiles après la commande

J'ai ensuite tenté en incluant le chemin en variable
path='/home/test/'
sed -i.old '/$path/d' /etc/fstab

ou
path='/home/test/'
sed -i.old '/${path}/d' /etc/fstab


Résultat, pas d'erreur, mais pas de changement dans mon fstab :/

Alors si quelqu'un pouvait m'éclairer un petit peu ^^'
J'en serais reconnaissant.

Merci d'avance.

A voir également:

1 réponse

zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407
6 oct. 2011 à 13:58
Salut,

Il faut changer le séparateur par défaut :
sed -i.old '\#/home/test/#d' /etc/fstab

Ou protéger les "slashs" :
sed -i.old '/\/home\/test\//d' /etc/fstab
0