ReAl 0 6 декабря, 2010 Опубликовано 6 декабря, 2010 · Жалоба Блин MED ето Multi-Edit ?Нет, ME это ME, а MED это MED Маленький такой (инсталляшка меньше 2 мегабайт), но довольно неплохой редактор. Для С даже навигация есть (перейти в точку определения данной функции/дефайна и вернуться назад) (для его размера это таки "даже"). Только регулярыне вражения у него "по старому стилю", в образце поиска придётся писать что-то в духе ([_0-9A-Za-z]+)_p([^_0-9A-Za-z]*) а в образце замены i\1\2 Multi-Edit и Notepad++ ето два моих любимых редактора.Ну так вот N++ Правда, у него немного другой диалект -- для выделения части образца скобки ( ) маскировать \( \) не надо, а надо будет маскироать для применения их как обычных символов. Вы просто не знали, что Вам нужны "регулярные выражения" (которые, как тут уже отмечалось, порождение отнюдь не линукса). Их есть давно и в куче мест. вот и ReAl говорил что такое возможно...Я не говорил, что возможен один гибкомощный инструмент на все случаи жизни. Т.е. он, возможно, есть, слухи про толи редактор со встроенной операционной системой, толи про операционную систему с интегрированнм редактором про до меня доходили. Но я предпочитаю набор правильно заточенных (а когда надо - затупленных, навроде кувалды) инструментов. Вопрос: можно ли, пользуясь vim или sed, сделать такое преобразование: NAME1_NAME2_NAME3_NAMEN_p => Name1Name2Name3NameN_p"должно быть можно", если не sed-ом, то awk-ом. Но я так далеко не заходил и наизусть все заклинания не помню. Когда мне надо - лезу и читаю доку. Обычно уходит меньше времени, чем нужно для того, чтобы сделать то же самое вручную :-) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
a123-flex 0 6 декабря, 2010 Опубликовано 6 декабря, 2010 · Жалоба Нет, ME это ME, а MED это MED Ну так вот N++ Правда, у него немного другой диалект -- для выделения части образца скобки ( ) маскировать \( \) не надо, а надо будет маскироать для применения их как обычных символов. Вы просто не знали, что Вам нужны "регулярные выражения" (которые, как тут уже отмечалось, порождение отнюдь не линукса). Их есть давно и в куче мест. Я не говорил, что возможен один гибкомощный инструмент на все случаи жизни. Т.е. он, возможно, есть, слухи про толи редактор со встроенной операционной системой, толи про операционную систему с интегрированнм редактором про до меня доходили. Но я предпочитаю набор правильно заточенных (а когда надо - затупленных, навроде кувалды) инструментов. "должно быть можно", если не sed-ом, то awk-ом. Но я так далеко не заходил и наизусть все заклинания не помню. Когда мне надо - лезу и читаю доку. Обычно уходит меньше времени, чем нужно для того, чтобы сделать то же самое вручную :-) :1111493779: :1111493779: :biggrin: Спасибо действительно, я полагал что Me, MED и MultiEdit - одно и тоже. век живи век учись... ну вот... осталось только с NAME1_NAME2_NAME3_NAMEN_p разобраться. Кстати в Pn дока читаемая... а в MultiEdit в offline доке я хрен че понял. А http://wiki.mulitedit.com не открывается. Будем читать доку pn++. Что же касается собственной ос, то на етот счет интересен Словогрыз, о котором я писал в первом посте. Ето по моему синтаксический анализатор с интерпретатором команд. Очень интересная игрушка. Только либо я снова не вкурил доку, либо он не отлажен до конца. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 6 декабря, 2010 Опубликовано 6 декабря, 2010 · Жалоба ReAL, имхо во втором случае не \w, а [\w\d], сорри если неправильно понял, что хотелось. Или в N++ "\w" включает цифры? Просто интересно. Я где-то нарвался на эквивалентность "\w" и [[:alpha:]_] Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
halfdoom 0 7 декабря, 2010 Опубликовано 7 декабря, 2010 · Жалоба Вопрос: можно ли, пользуясь vim или sed, сделать такое преобразование: NAME1_NAME2_NAME3_NAMEN_p => Name1Name2Name3NameN_p Примерно вот так: sed -e "s/\(^\|_\)\([^_]\)\([^_]\+\)/\u\2\L\3/g" Другие варианты можете дописать сами. Hint: команды редактора можно записать в отдельный файл и вызывать sed с ключом -f cmdfile.sed. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 7 декабря, 2010 Опубликовано 7 декабря, 2010 · Жалоба Иногда лучше вместо сочинения одного монстроидального регэкспа сделать несколько проходов регэкспами попроще. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
a123-flex 0 7 декабря, 2010 Опубликовано 7 декабря, 2010 · Жалоба Примерно вот так: sed -e "s/\(^\|_\)\([^_]\)\([^_]\+\)/\u\2\L\3/g" Другие варианты можете дописать сами. Hint: команды редактора можно записать в отдельный файл и вызывать sed с ключом -f cmdfile.sed. блин я надеялся, что хотя бы такое невозможно, и мне не придется ету хрень качать). Скачал. Не запускается. Грит libintl3.dll не найден. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
SM 0 7 декабря, 2010 Опубликовано 7 декабря, 2010 · Жалоба Грит libintl3.dll не найден. http://gnuwin32.sourceforge.net/packages/libintl.htm И еще - когда качаете что-то такое гнутое, смотрите "Requirements" - винда не линукс, и автоматически все необходимое выкачивать не умеет. И еще еще - http://unxutils.sourceforge.net/ - не должны тянуть за собой кучу остальных пакетов. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ViKo 1 7 декабря, 2010 Опубликовано 7 декабря, 2010 · Жалоба EditPlus http://www.editplus.com/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ReAl 0 7 декабря, 2010 Опубликовано 7 декабря, 2010 · Жалоба ReAL, имхо во втором случае не \w, а [\w\d], сорри если неправильно понял, что хотелось. Или в N++ "\w" включает цифры? Просто интересно. Я где-то нарвался на эквивалентность "\w" и [[:alpha:]_]Включает. Там на скриншоте NAME2_NAME3_p; оно заменяется на iNAME2_NAME3; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
a123-flex 0 16 декабря, 2010 Опубликовано 16 декабря, 2010 · Жалоба http://gnuwin32.sourceforge.net/packages/libintl.htm И еще - когда качаете что-то такое гнутое, смотрите "Requirements" - винда не линукс, и автоматически все необходимое выкачивать не умеет. И еще еще - http://unxutils.sourceforge.net/ - не должны тянуть за собой кучу остальных пакетов. %ЛЯ, ненавижу %баный ЛИНУКС!!!!!!!!!!!!! скачал все запустил, а он мне пишет: The FAR manager, version 1.70 beta 5 (build 1634) Copyright © 1996-2000 Eugene Roshal, Copyright © 2000-2003 FAR Gro Evaluation copy, please register. C:\Program Files\Far>cd C:\Program Files\GnuWin32\bin C:\Program Files\GnuWin32\bin> C:\Program Files\GnuWin32\bin>sed.exe ╚ёяюы№чютрэшх: sed.exe [╬╧╓╚▀]... {Єюы№ъю-ёъЁшяЄ-хёыш-эхЄ-фЁєуюую-ёъЁш эющ-Їрщы]... -n, --quiet, --silent эх т√тюфшЄ№ ртЄюьрЄшўхёъш яЁюьхцєЄъш -e script, --expression=script фюсртыхэшх ёъЁшяЄр т шёяюыэ хь√х ъюьрэф√ -f script-file, --file=script-file фюсртыхэшх ёюфхЁцшьюую Їрщыр-ёъЁшяЄр т шёяюыэ хь√х ъю -i[╤╙╘╘╚╩╤], --in-place[=╤╙╘╘╚╩╤] ЁхфръЄшЁютрэшх Їрщыют эр ьхёЄх (ёючфрхЄ ъюяш■, хёыш є °шЁхэшх) -b, --binary юЄъЁ√трЄ№ Їрщы√ т сшэрЁэюь Ёхцшьх (CR+LF эх юсЁрсрЄ√т -c, --copy use copy instead of rename when shuffling files in -i (avoids change of input file ownership) -l N, --line-length=N єърчрэшх цхырхьющ фышэ√ яхЁхэюёшьющ ёЄЁюъш фы ъюьрэф --posix юЄъы■ўхэшх тёхї Ёрё°шЁхэшщ GNU. -r, --regexp-extended шёяюы№чютрэшх т ёъЁшяЄх Ёрё°шЁхээ√ї Ёхуєы Ёэ√ї т√Ёрцх -s, --separate фюяє∙хэшх, ўЄю Їрщы√ Ёрчфхыхэ√, р эх т тшфх юфэюую фышээюую эхяЁхЁ√тэюую яюЄюър. -u, --unbuffered чруЁєчър ьшэшьры№эюую юс·хьр фрээ√ї шч тїюфэ√ї Їрщыют ш сюыхх ўрёЄ√щ ёсЁюё эр фшёъ т√їюфэ√ї сєЇхЁют --help т√тюф ¤Єющ ёяЁртъш ш т√їюф --version т√тюф шэЇюЁьрЎшш ю тхЁёшш ш т√їюф ┼ёыш юяЎш -e, --expression, -f, шыш --file эх єърчрэр, Єюуфр яхЁт√щ эхюяЎшюэры№э√щ рЁуєьхэЄ схЁхЄё ъръ ёъЁшяЄ sed фы шэЄхЁяЁхЄрЎшш. ┬ёх юёЄрт°шхё рЁуєьхэЄ√ ты ■Єё шьхэрьш тїюфэ√ї Їрщыют; хёыш тїюфэ√х Їрщы√ эх єърчрэ√, Єюуфр ўшЄрхЄё ёЄрэЄрЁЄэ√щ ттюф. GNU sed home page: <http://www.gnu.org/software/sed/>. General help using GNU software: <http://www.gnu.org/gethelp/>. и весь инет полон умных советов %ЛЯ, а как заставить работать ето дерьмо непонятно!!!! ну хоть и с кракозябрами, но как то заработало)) осталось теперь ето дерьмо подправить.... неужели мне придется в етом разобраться ? :crying: м. Скрипт s/\(^\|_\)\([^_]\)\([^_]\+\)/\u\2\L\3/g дефектный. Все делает правильно, только первую заглавную букву переменной делает маленькой( :angry2: ненавижу линукс :smile3046: Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
vitan 2 16 декабря, 2010 Опубликовано 16 декабря, 2010 · Жалоба Может, попробовать команду chcp 866? Или какие-то другие кодировки... Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
a123-flex 0 16 декабря, 2010 Опубликовано 16 декабря, 2010 · Жалоба Может, попробовать команду chcp 866? Или какие-то другие кодировки... да. я ее обязательно попробую но в данный момент меня интересует скрипт. Скрипт выбора регулярного выражения неправильный, т.к. выбор получается некорректный. В строке, начинающейся с пробела, подмена случится начиная с пробела, таким образом в первой группе выбора заглавная буква превратится в строчную. что мы и видим в обработанном куске: Use work.packageMult.all; Use work.pckCrc16D16.all; Entity analizeTr is Port( -- globalIn reset : in stdLogic; -- main clock (state mashine base) clkInLow : in stdLogic; -- incoming fifo control fifoInEmpty : in stdLogic; fifoInReadEn : out stdLogic; подмена (^\|_\) -> (^[a-z,A-Z,0-9]\|_\) тоже радости не приносит. Почему то сжирается первый значащий символ. И не убавляется регистр в первой группе подмены.( я кажется не понимаю как работает оператор подмены \u\2\L\3/g. Не нашел в доке описания, что означают цифры после u и L Se work.pckCrc16D16.all; Ntity analizeTr is Ort( -- globalIn RESET : in stdLogic; -- main clock (state mashine base) CLKInLow : in stdLogic; Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
andrew_b 16 17 декабря, 2010 Опубликовано 17 декабря, 2010 · Жалоба %ЛЯ, ненавижу %баный ЛИНУКС!!!!!!!!!!!!! Линукс тут причём? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
a123-flex 0 17 декабря, 2010 Опубликовано 17 декабря, 2010 · Жалоба Линукс тут причём? :rolleyes: в моем представлении линукс, gnu и пр. open source - одного поля ягоды. разве ето не так на самом деле ? в смысле я не отрицаю его полезности и пр. просто на ощупь очень неприятно. как российский автопром примерно Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Ant_m 0 17 декабря, 2010 Опубликовано 17 декабря, 2010 · Жалоба Да что вы себе мозг трахаете скачиванием отдельных пакетов? У меня, 100 лет в обед, стоит cygwin. Это окружение GNU (sed, awk, find, sh и прочее) работающее в Windows. http://www.cygwin.com/ Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться