Удаление строк, содержащих переменную

У меня есть текстовый файл, содержащий имена. Я хочу, чтобы моя программа могла удалять имена, о которых я рассказываю.

Во-первых, я обнаружил, что могу сделать это с помощью sed , но это просто не работает для меня.

deletename – моя переменная, которая будет содержать шаблон, который я хочу использовать для поиска, а test.txt – это мой текстовый файл.

Я использую:

 deletename=0; read deletename; sed... 

Я пытался:

 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 

Поскольку ничего из этого не получилось, у меня возникла идея проверить номер строки с шаблоном и удалить эту строку. Я знаю, что должен использовать grep , но я не знаю, как его использовать.

Я пробовал что-то подобное, но это не сработало:

 lineno=`expr grep -n $deletename test.txt` 

Кто-нибудь сможет помочь? С sed или grep для меня не имеет большого значения.