La commande sed

Fermé
cynda123 Messages postés 1 Date d'inscription jeudi 18 janvier 2018 Statut Membre Dernière intervention 18 janvier 2018 - 18 janv. 2018 à 14:17
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 20 janv. 2018 à 15:41
je veux supprimer une ligne de fichier .txt avec le shell j’utilise cette commande mais ça marche pas ??? aidez moi :'(


echo "saisissez le nom que vous voulez supprimer"
read name
$GREP -i $name f.txt
#if [ $? == 0 ]
#then
#echo "$name, existe"

sed -i 's/^$name /d' ./f.txt
A voir également:

3 réponses

UnGnU Messages postés 1158 Date d'inscription lundi 2 mai 2016 Statut Contributeur Dernière intervention 22 décembre 2020 157
18 janv. 2018 à 14:28
Bonjour !

A lire avant d'aller plus loin ;-)

De rien.

0
Utilisateur anonyme
19 janv. 2018 à 12:02
Bonjour,
s'il vous plaît,
merci.

« ça marche pas »
pourquoi ? il lui manque un pied ? c'est une table ? c'est sur roulette ?
ptdr
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
19 janv. 2018 à 18:46
sed -i '/^$name /d' ./f.txt
ça fonctionnerai pas ?
0
Utilisateur anonyme
19 janv. 2018 à 21:29
non, parce que la variable ne peut pas être développée.
0
Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023 1 297
20 janv. 2018 à 09:28
sed -i "/^$name /d" ./f.txt
alors ?
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > Char Snipeur Messages postés 9696 Date d'inscription vendredi 23 avril 2004 Statut Contributeur Dernière intervention 3 octobre 2023
Modifié le 20 janv. 2018 à 10:25
Salut,

Oui, mais non ;-)

Je m'explique, enfin l'explication est plutôt.

Exemple :
$ cat fich    # Le contenu du fichier
bonjour
salut
hello
hola
hi

$ var="h" # Initialisation variable

$ sed "/${var}/d" fich # On supprime les lignes contenants un "h"
bonjour
salut

$ sed "/${var}/!d" fich # On ne veut que celles ayants un "h"
sed "/${var}/df -hT " fich
sed: -e expression n°1, caractère 5: caractères inutiles après la commande

$ sed '/'"${var}"'/!d' fich # La bonne syntaxe
hello
hola
hi
0
Utilisateur anonyme
20 janv. 2018 à 14:07
ou alors, on ajoute un espace :
sed "/$var/! d" fich
0
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 407 > Utilisateur anonyme
20 janv. 2018 à 15:41
Bien vu, merci ;-)
0