LINUX.ORG.RU

Ошибка при использовании sed

 


0

1

Доброго времени суток!

Из текстового файла нужно удалить часть строки, идущую до слова where. Использую для этого следующую команду:
sed 's/.*where\(.*\)$/\1/g' < temp >temp2
но получаю ошибку:
sed: -e expression #1, char 17: unknown option to `s'

В чем может быть причина?

какая крутая конструкция с перенаправлениями
до ключа -i всё-таки надо было дочитать
а по теме мне сказать нечего

zolden ★★★★★
()
Ответ на: комментарий от mmm-crash

Так вообще ничего не удаляет...

Странно, у меня такой вариант вроде работает.

echo 'lsk where djfldkj\ndwhere sfl\ndswherefsd\n' | sed 's/.*where//g'
Интересно, что за текст.

backbone ★★★★★
()

sed 's/.*where\(.*\)$/\1/g' < temp >temp2

но получаю ошибку: sed: -e expression #1, char 17: unknown option to `s'

В чем может быть причина?

в кривых руках. Я скопипастил это выражение, и оно у меня прекрасно работает.

ЗЫЖ а про ключ --in-place таки почитай... http://drbatty.ru/sed/ch06.html#id2532390

drBatty ★★
()
Ответ на: комментарий от backbone

Да, действительно работает, спасибо. Оказалось что в файле where в верхнем регистре написано. Прошу прощения.

mmm-crash
() автор топика
Ответ на: комментарий от zolden

какая крутая конструкция с перенаправлениями

он все правильно сделал, нефиг сразу менять исходный файл

sdio ★★★★★
()
Ответ на: комментарий от Jetty

--in-place - неправильный путь

WTF?

в каком манускрипте ты это прочитал?!

тем более на этапе отладки выражения.

на этапе отладки как раз юзают неправильные пути, ибо так оно проще и быстрее.

<> самый правильный путь.

обоснуй.

drBatty ★★
()
Ответ на: комментарий от Jetty

инплейс инплейсу рознь, но ты ведь и сам это знаешь, да

-i.bak

zolden ★★★★★
()
Ответ на: комментарий от Jetty

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

читай доки, ибо они - рулёз.

sed -i*.bak " file

сохраняет старое содержимое под именем file.bak

drBatty ★★
()
Ответ на: комментарий от drBatty

точно. однако такая форма заморочки редко используется. В начале так точно.

Я, да и не только я, в свое время массу файлов угробил при помощи опрометчивого -и

Jetty ★★★★★
()
Ответ на: комментарий от Jetty

Я, да и не только я, в свое время массу файлов угробил при помощи опрометчивого -и

я ни одного не угробил - сначала запускаешь без -i, а потом, если нравится, с -i. Ну а -i*.bak надо если файлов много или там он огромный...

drBatty ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.