Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 15/10/2015, à 19:50

argolance

Suppression de ligne avec sed [RÉSOLU]

Bonjour,
Mon fichier texte (liste de dossiers) est de la forme:

/root/my-documents
/root/my-documents/my-pictures
/root/my-documents/my-pictures/test
[...]

Je voudrais supprimer seulement la ligne "/root/my-documents".
mais la commande:

sed '%/root/my-documents%d'

modifiée en remplaçant les "/" des chemins des répertoires par des '%", comme ça peut se faire lorsqu'il s'agit d'un motif, ne fonctionne pas:

sed: -e expression #1, char 1: unknown command: `%'

Merci de votre attention.

Dernière modification par argolance (Le 15/10/2015, à 20:41)

Hors ligne

#2 Le 15/10/2015, à 19:57

pingouinux

Re : Suppression de ligne avec sed [RÉSOLU]

Bonsoir,

sed '/\/root\/my-documents$/d' fichier

Hors ligne

#3 Le 15/10/2015, à 20:08

argolance

Re : Suppression de ligne avec sed [RÉSOLU]

Merci pour la réponse.
J'ai bien pensé à échapper les "/" mais alors il faut que je transforme l'intégralité du fichier avant de le traiter (déjà modifié pour échapper les espaces mais qui deviendrait inutilisable si j'échappais aussi les slash): Je pensais qu'il y aurait une autre solution qui m'éviterais la manip, même si ce n'est pas avec sed!

Dernière modification par argolance (Le 15/10/2015, à 20:10)

Hors ligne

#4 Le 15/10/2015, à 20:15

Postmortem

Re : Suppression de ligne avec sed [RÉSOLU]

Salut,
Pour que le "%" soit vu comme le délimiteur du motif recherché, il faut échapper le 1er avec "\".

sed '\%/root/my-documents$%d'

Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#5 Le 15/10/2015, à 20:35

argolance

Re : Suppression de ligne avec sed [RÉSOLU]

C'est parfait!
Merci aux membres de ce forum extrêmement réactif!

Dernière modification par argolance (Le 15/10/2015, à 20:41)

Hors ligne

#6 Le 15/10/2015, à 20:44

pingouinux

Re : Suppression de ligne avec sed [RÉSOLU]

Merci Postmortem pour cette astuce que je ne connaissais pas.

Hors ligne

#7 Le 15/10/2015, à 21:56

Postmortem

Re : Suppression de ligne avec sed [RÉSOLU]

argolance a écrit :

Merci pour la réponse.
J'ai bien pensé à échapper les "/" mais alors il faut que je transforme l'intégralité du fichier avant de le traiter (déjà modifié pour échapper les espaces mais qui deviendrait inutilisable si j'échappais aussi les slash): Je pensais qu'il y aurait une autre solution qui m'éviterais la manip, même si ce n'est pas avec sed!

La solution proposée par pingouinux fait exactement la même chose que la mienne, tu n'as pas besoin d'échapper quoique ce soit dans le fichier à traiter.


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#8 Le 15/10/2015, à 23:00

argolance

Re : Suppression de ligne avec sed [RÉSOLU]

tu n'as pas besoin d'échapper quoique ce soit dans le fichier à traiter.

Tu as raison. J'ai "réfléchi" trop vite...
Merci.

Hors ligne