J'ai un fichier texte qui contient des noms. J'aimerais que mon programme puisse supprimer les noms que je lui demande de supprimer.
D'abord, j'ai découvert que je pouvais le faire avec sed
mais ça ne marche pas pour moi.
deletename
est ma variable qui contiendra le modèle que je veux utiliser pour la recherche, et test.txt
est mon fichier texte.
J'utilise :
deletename=0; read deletename; sed...
J'ai essayé :
sed "/$deletename/ d" test.txt
sed "/$deletename/d" test.txt
sed '/$deletename/ d' test.txt
sed '/$deletename/d' test.txt
sed -e "/$deletename/ d" test.txt
sed -e "/$deletename/d" test.txt
sed -e '/$deletename/ d' test.txt
sed -e '/$deletename/d' test.txt
sed -r "/$deletename/ d" test.txt
sed -r "/$deletename/d" test.txt
sed -r '/$deletename/ d' test.txt
sed -r '/$deletename/d' test.txt
Comme rien ne fonctionnait, j'ai eu l'idée de vérifier le numéro de la ligne qui contient le motif et de supprimer cette ligne. Je sais que je devrais utiliser grep
mais je n'ai absolument aucune idée de la façon dont je dois l'utiliser.
J'ai essayé quelque chose comme ça, mais ça n'a pas marché :
lineno=`expr grep -n $deletename test.txt`
Quelqu'un peut-il m'aider ? Avec sed
o grep
n'a pas vraiment d'importance pour moi.