Удалить строки, содержащие путь к файлу с помощью sed

У меня есть список строк в файле, который выглядит так:

6642a51e0ed5e6f89e5e4090b9aa0fb3 /home/device/eth0/uid d66d1417251a9a151176c34acf046878 /home/device/eth0/uid64 db5c3c9d348ce26169c56901a7606961 /home/device/eth1/dhcp 226c1a53543bddcca5d136fdd5700f4c /home/device/eth1/ipv4 13b376c06f904b607c2a23bd76115595 /home/device/eth1/netmask 

Я хочу удалить некоторые строки из этого файла без каких-либо пустых строк.

Я нашел sed подходящей командой, хотя я пробовал несколько способов и смотрел на работу других, я до сих пор не знаю, как это сделать.

Это то, что у меня есть sed -i "s|'/home/device/pn'|d" TestRun.chk

Но он не работает … Я читал статьи о том, как сломать косую черту и как ее не использовать. Я просто не знаю, как это работает для моей ситуации.

Ваша помощь очень ценится!

РЕДАКТИРОВАТЬ:

Пример ввода:

 6642a51e0ed5e6f89e5e4090b9aa0fb3 /home/device/eth0/uid d66d1417251a9a151176c34acf046878 /home/device/eth0/uid64 db5c3c9d348ce26169c56901a7606961 /home/device/eth1/dhcp 226c1a53543bddcca5d136fdd5700f4c /home/device/eth1/ipv4 13b376c06f904b607c2a23bd76115595 /home/device/eth1/netmask 

После запуска команды sed для удаления /home/device/eth1/ipv4 ожидаемый результат:

 6642a51e0ed5e6f89e5e4090b9aa0fb3 /home/device/eth0/uid d66d1417251a9a151176c34acf046878 /home/device/eth0/uid64 db5c3c9d348ce26169c56901a7606961 /home/device/eth1/dhcp 13b376c06f904b607c2a23bd76115595 /home/device/eth1/netmask 

  • Используйте список строк, чтобы заменить параметр sql, распечатывающий весь файл для каждой замены
  • Sed Заменить в определенной группе позиций
  • Как заменить строку содержимым файла и вокруг содержимого некоторым текстом?
  • Как я могу эффективно выбирать конкретные номера строк из списка записей?
  • grep трубопроводы в sed, заменяя inline; но я хочу, чтобы sed печатал имя файла и менял строку. Является ли это возможным?
  • Повторно распечатать массив в определенном формате?
  • Выделите сегодня в Mac
  • Печать чередующихся строк с условными
  • One Solution collect form web for “Удалить строки, содержащие путь к файлу с помощью sed”

    Используя sed , вы можете:

     $ sed -i '\| pattern to match |d' File 

    Это приведет к удалению строк, содержащих pattern to match с файлом.

    Используя grep, вы можете:

     $ echo "$(grep -v "pattern to match" File)" > File 

    Параметр -v позволяет сочетать строки, не содержащие pattern to match , который затем перенаправляется обратно в файл.

    Linux и Unix - лучшая ОС в мире.