Jump to content

Recommended Posts

Posted

Начальные условия: Есть текстовый файл (.forward) в котором располагается список e-mail адресов:

user1@email.ru

user2@email.ru

и т.д.

Задача: Как удалить заданую строчку userX@email.ru при помощи короткой консольной команды?

PS: Использовал: "sed -e /s/userX@email.ru//g .forward" - выводит на экран то что нужно, но файл при этом не изменяется. Если в конце добавить "> .forward" то файл станет по объему станет равен 0 байтам Sad

Если ">> .forward" то соответственно к имеющейся инфе допишется то что необходимо. Может есть другие элегантные решения?

Posted

Ключ -i в sed я не обнаружил, видно старая версия (RH 7.3)

использовал ключ -e, результат выполнения команды выводится

на экран (нужный резултат), но запись в файл не производилась.

пришлось использовать другую команду:

cat .forward|grep -v userX@email.ru >.forward Laughing

так работает Very Happy

Posted

А вот ИМХО большой вопрос, корректно ли так писать:

cat SOME_FILE | grep ... >SOMEFILE

Что-то мнится мне, что работать это будет не всегда... Как напр в случае "обнуления" файла в вашем примере...

Posted

alex_x_st писал(а) вт, 18 октября 2005 11:14

Ключ -i в sed я не обнаружил, видно старая версия (RH 7.3)

использовал ключ -e, результат выполнения команды выводится

на экран (нужный резултат), но запись в файл не производилась.

Ну тады так:

sed '/userX@email.ru/d' .forward >.forward.tmp

mv -f .forward.tmp .forward

Confused

PS -i[sUFFIX], --in-place[=SUFFIX]

- edit files in place (makes backup if extension supplied)

также прочел, что реализация -i через временный файл в GNU.

-e я вообще не использую. Зачем? Sad

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
×
×
  • Create New...