|
|
|
sed замена
|
|||
|---|---|---|---|
|
#18+
Кто подскажет по sed Доброго всем дня. Надо из множества файлов исходников на с++ поудалять функцию wxT("...") и .c_str() заодно Код: [Выделить] for /R %%i in (*.cpp *.h) do sed -i "s/wxT([^)]*)/#/;/#wxT(/s/)#//;s/#wxT(//;s/.c_str()//g" %%i Я смог заставить sed менять все wxT(...) на #wxT(...)#, затем удаляю #wxT( и )# Не могу заставить работать так: меняем wxT("...") на #wxT("...")# затем меняю #wxT(" на " и ")# на " Надо чтобы, например: Код: [Выделить] echo wxT(")") | sed 's/wxT([^)]*)/#/g;/#wxT(/s/)#//g;s/#wxT(//;s/.c_str()//g' вернуло ")" Подскажите, пожалуйста, как (можно любой синтаксис, как для cmd так и для bash)? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2013, 14:30 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
перл - читаем стд. вход, убираем одну из ф-ций, заливаем в стд. вывод while(<>){ s/wxT\("[^"]*"\)//g; print; } ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2013, 14:44 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
пробую иначе Код: sql 1. получаю #wxT("1+2+3 (6)"); _("bingo (ya)")# а хочется #wxT("1+2+3 (6)")#; _("bingo (ya)") ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2013, 16:07 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
в итоге нечто рабочее: Код: sql 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2013, 16:58 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
maximandв итоге нечто рабочее: Код: sql 1. а чего сразу матч на пустую строку не менять s/.c_str()//g - как тут? сразу без зарешеченного минуса? s/wxT(\(.[^\"]*\)\")/\1\"/ ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2013, 17:26 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
или дефайном. Это же С-С++? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2013, 17:35 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
Vladimir Baskakov, Спасибо и точно. Код: sql 1. вполне справляется за редким исключением. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2013, 17:48 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
s/wxT(\s*\(\"[^\"]*\"\\s*))/\1/ Или даже так. Обе кавычки - в захватываемое скобками выражение,между скобкой и кавычкой с двух сторон - возможные пробельные цепочки. Для надежности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2013, 18:05 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
Vladimir Baskakov, ещё +100500 спасибов! Вот синтаксис для виндового сида: Код: sql 1. Это выражение ошибается только на строках с маскированными кавычками типа: Код: sql 1. и не могу заставить первую кавычку учитывать.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 17.04.2013, 19:25 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
maximand, следующий скрипт Код: plaintext 1. 2. на первый взгляд правильно жует вот такой тест. Код: plaintext 1. 2. 3. 4. 5. Символы 1...8 в нормальных текстах не встречаются..... их можно использовать как временную замену эскейп - последовательностей.... желания упаковывать в однострочник - нет, только глаза ломать, perl - никак не менее удобен, те же регекспы в нормальном, с процедурами, переменными и циклами языке. sed взят из виндового несвежего git-a. перл и тактикль - там же, рядом. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2013, 09:43 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
html_+= wxString::Format( wxT( "\" text=\"%s\" " ) => html_+= wxString::Format("\" text=\"%s\" " ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2013, 09:51 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
Владимир, Спасибо. Я уже немного подразобрался с рег выражениями. По sed'у всё логично, но есть странное но. Код: sql 1. выдаёт пустую строку вместо ожидаемого wxT( "_2\"3"), хотя эхо нормально выводит. Поэтому мне вообще не поменять \" на хоть что угодно. Ерунда какая-то. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.04.2013, 18:36 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
Вам надо разобраться, как вставлять скобки слэши и кавычки в качестве элементов строки - аргумента echo. Код: php 1. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 10:00 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
Не надо беспокоится, сделайте тестовый файл и тестовый sed - скрипт. И начинайте жить. И станет счастье. (вопрос о том, на зачем он вообще нужен, sed, оставим без рассмотрения) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 10:04 |
|
||
|
sed замена
|
|||
|---|---|---|---|
|
#18+
Владимир, Спасибо за советы. Победа! Ваш шаблон + мой цикл благополучно обрабатывает тестовый файл. Код: sql 1. Код: sql 1. 2. 3. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.04.2013, 13:31 |
|
||
|
|

start [/forum/topic.php?fid=16&msg=38232608&tid=1341841]: |
0ms |
get settings: |
5ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
49ms |
get topic data: |
7ms |
get forum data: |
2ms |
get page messages: |
34ms |
get tp. blocked users: |
1ms |
| others: | 193ms |
| total: | 305ms |

| 0 / 0 |
