The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"vi не простая замена строк"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (Разное / Linux)
Изначальное сообщение [ Отслеживать ]

"vi не простая замена строк"  +/
Сообщение от merfi (ok) on 30-Ноя-11, 14:23 
vi замена текста
Все очень просто со словами
А как быть если заменяемое значение  - путь к файлу
Н-р
%s/home/vasya//usr/local/vasya/g
Выдает ошибку E4888 Trailing characters
Скажу сразу , что испробовал все (экранирование спецсимволов и т.д )

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "vi не простая замена строк"  +/
Сообщение от Andrey Mitrofanov on 30-Ноя-11, 15:26 
Во всяких sed-ах прокатывает
s!home/vasya!/usr/local/vasya!g

А что говорит поэтому поводу man vi ??

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "vi не простая замена строк"  +/
Сообщение от merfi (ok) on 30-Ноя-11, 15:36 
> Во всяких sed-ах прокатывает
> s!home/vasya!/usr/local/vasya!g
> А что говорит поэтому поводу man vi ??

Да он говорит что
%s/что/на что/g

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "vi не простая замена строк"  +/
Сообщение от me (??) on 30-Ноя-11, 16:03 
>> Во всяких sed-ах прокатывает
>> s!home/vasya!/usr/local/vasya!g
>> А что говорит поэтому поводу man vi ??
> Да он говорит что
> %s/что/на что/g

почитайте на тему эскйеп-последовательностий.
всмысле, чем-бы мне заэскйпить "/"?

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "vi не простая замена строк"  +/
Сообщение от merfi (ok) on 30-Ноя-11, 17:04 
>>> Во всяких sed-ах прокатывает
>>> s!home/vasya!/usr/local/vasya!g
>>> А что говорит поэтому поводу man vi ??
>> Да он говорит что
>> %s/что/на что/g
> почитайте на тему эскйеп-последовательностий.
> всмысле, чем-бы мне заэскйпить "/"?

"/" заэкспейсивается  "\"
пробовал и так . Ошибка сохраняется

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "vi не простая замена строк"  +/
Сообщение от Andrey Mitrofanov on 30-Ноя-11, 17:13 
>> А что говорит поэтому поводу man vi ??
> Да он говорит что
> %s/что/на что/g

Дубина...

If you are substituting with a "from" or "to" part that includes a slash, you
need to put a backslash before it.  A simpler way is to use another character
instead of the slash.  A plus, for example:

    :s+one/two+one or two+

Но, да, "не man? нет, не man".

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

6. "vi не простая замена строк"  +/
Сообщение от merfi (ok) on 30-Ноя-11, 17:16 
>[оверквотинг удален]
>> Да он говорит что
>> %s/что/на что/g
> Дубина...
> If you are substituting with a "from" or "to" part that includes
> a slash, you
> need to put a backslash before it.  A simpler way is
> to use another character
> instead of the slash.  A plus, for example:
>  :s+one/two+one or two+

> Но, да, "не man? нет, не man".

Так я уже делал.
%s/\/home/vasya/\/usr/local/vasya/g

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

7. "vi не простая замена строк"  +/
Сообщение от merfi (ok) on 30-Ноя-11, 17:17 
>[оверквотинг удален]
>> Да он говорит что
>> %s/что/на что/g
> Дубина...
> If you are substituting with a "from" or "to" part that includes
> a slash, you
> need to put a backslash before it.  A simpler way is
> to use another character
> instead of the slash.  A plus, for example:
>  :s+one/two+one or two+

> Но, да, "не man? нет, не man".

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

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

8. "vi не простая замена строк"  +/
Сообщение от merfi (ok) on 30-Ноя-11, 17:28 
>[оверквотинг удален]
>> Дубина...
>> If you are substituting with a "from" or "to" part that includes
>> a slash, you
>> need to put a backslash before it.  A simpler way is
>> to use another character
>> instead of the slash.  A plus, for example:
>>  :s+one/two+one or two+

>> Но, да, "не man? нет, не man".
> backslash экранирует нормальный слэш в любом регулярном выражении.
> Я сразу написал , что символами экранирования пользовался

Все ! Вопрос решен ! Всем спасибо за содействие

Ответить | Правка | ^ к родителю #7 | Наверх | Cообщить модератору

9. "vi не простая замена строк"  +/
Сообщение от Анонимище on 30-Ноя-11, 23:20 
>[оверквотинг удален]
>>> If you are substituting with a "from" or "to" part that includes
>>> a slash, you
>>> need to put a backslash before it.  A simpler way is
>>> to use another character
>>> instead of the slash.  A plus, for example:
>>>  :s+one/two+one or two+

>>> Но, да, "не man? нет, не man".
>> backslash экранирует нормальный слэш в любом регулярном выражении.
>> Я сразу написал , что символами экранирования пользовался
> Все ! Вопрос решен ! Всем спасибо за содействие

Экранировать надо каждый прямой слэш, а не только первый

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "vi не простая замена строк"  +/
Сообщение от Andrey Mitrofanov on 01-Дек-11, 09:51 
---------vvvvvvvvvvvvvvvvvvvvvvv
>>>>  :s+one/two+one or two+

-----------^^^^^^^^^^^^^^^^^^
>>>> Но, да, "не man? нет, не man".
>> Все ! Вопрос решен ! Всем спасибо за содействие

На здоровье!

> Экранировать надо каждый прямой слэш, а не только первый

Нет, блин, __НАДО__ другой разделитель аргументов использовать.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Спонсоры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2022 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру