Total Commander Forum Index Total Commander
Форум поддержки пользователей Total Commander
Сайты: Все о Total Commander | Totalcmd.net | Ghisler.com | RU.TCKB
 
 RulesRules   SearchSearch   FAQFAQ   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

EmEditor удаление строк по параметрам
Goto page 1, 2  Next
 
Post new topic   Reply to topic    Total Commander Forum Index -> Программное обеспечение printer-friendly view
View previous topic :: View next topic  
Author Message
ArrowSoft



Joined: 28 Jul 2015
Posts: 3

Post (Separately) Posted: Tue Jul 28, 2015 22:04    Post subject: EmEditor удаление строк по параметрам Reply with quote

Добрый привет!
Подскажите пожалуйста как удалить строки содержащие более 16 символов и менее 16 символов, в txt через EmEditor.
Crying or Very sad
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 8479
Location: Россия, Саратов

Post (Separately) Posted: Tue Jul 28, 2015 22:21    Post subject: Reply with quote

ArrowSoft
Видимо, макрос надо писать. Я тут пас, но на форуме есть более продвинутые специалисты. (Например, CaptainFlint, но он сейчас должен быть в отъезде.) И версию используемого EE надо в любом случае указать.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
ArrowSoft



Joined: 28 Jul 2015
Posts: 3

Post (Separately) Posted: Tue Jul 28, 2015 22:41    Post subject: Reply with quote

Avada
я подумал можно через регулярное выражение, но не знаю как ими пользоваться тут. Спасибо за ответ Smile
Версия 15.1.7


Last edited by ArrowSoft on Tue Jul 28, 2015 22:42; edited 1 time in total
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4441
Location: Ростов-Дон

Post (Separately) Posted: Tue Jul 28, 2015 22:41    Post subject: Reply with quote

Можно заменой с регулярным выражением.
Для удаления строк короче 16 символов заменить выражение (^|\n).{0,16}\n\n? на \1.
Для удаления строк длиннее 16 символов заменить чуть модифицированное выражение (^|\n).{16,}\n\n? на \1.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
ArrowSoft



Joined: 28 Jul 2015
Posts: 3

Post (Separately) Posted: Tue Jul 28, 2015 22:51    Post subject: Reply with quote

MVV
Спасибо! Помогло! Rolling Eyes
Но работает очень медленно, думал будет быстро.
Все так через Terminal мне будет проще удалить =)
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 11492
Location: Москва

Post (Separately) Posted: Tue Jul 28, 2015 23:08    Post subject: Reply with quote

ArrowSoft
На скорость влияют разные факторы. Например, размер файла, рабочие процессы, загрузка памяти, процессор.
Вот "быстро" - это сколько?
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4441
Location: Ростов-Дон

Post (Separately) Posted: Tue Jul 28, 2015 23:21    Post subject: Reply with quote

Насколько я понимаю, в EmEditor загруженные в память файлы хранятся как массивы строк, поэтому операции по удалению или добавлению строк в многострочном файле медленны - видимо, из-за частого перестроения этого массива строк.
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 11492
Location: Москва

Post (Separately) Posted: Wed Jul 29, 2015 00:25    Post subject: Reply with quote

Есть ещё один способ. Закрепляем режим блочного выделения. Держим на первой строке после 16 символа Shift и жмём PgDn пока сепаратор не достинет конца рабочей области, потом отпускаем PgDn и нажимаем HOME или END (+ необх. число раз Вправо) в зависимости от того, с какой стороны удаляем, а после отпускаем Shift и жмём Del, соответственно.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.


Last edited by Flasher on Wed Jul 29, 2015 00:35; edited 1 time in total
Back to top
View user's profile Send private message
MVV



Joined: 15 Oct 2009
Posts: 4441
Location: Ростов-Дон

Post (Separately) Posted: Wed Jul 29, 2015 00:32    Post subject: Reply with quote

Flasher,
Длинные строки же так просто укоротятся, но не удалятся целиком, или?
_________________
TCFS2 + TCFS2Tools: Полноэкранный режим и многое другое (обсуждение)
WINCMD.RU: AskParam, CopyTree, NTLinks, Sudo, VirtualPanel…
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 11492
Location: Москва

Post (Separately) Posted: Wed Jul 29, 2015 00:35    Post subject: Reply with quote

MVV
Блин, точно, я вообще о другом подумал... Вычёркиваю...
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Avada



Joined: 01 Aug 2008
Posts: 8479
Location: Россия, Саратов

Post (Separately) Posted: Wed Jul 29, 2015 09:23    Post subject: Reply with quote

ArrowSoft
Что какие-то рекомендации помогли — замечательно, но правила форума попрошу соблюдать. Полное цитирование предыдущего поста — моветон. В таких случаях достаточно ника того, кому отвечают (вставляется кликом из левой части соответствующего поста). Ненужные цитаты удалены.
_________________
Даже самая богатая фантазия
Не представит себе наши безобразия.
Back to top
View user's profile Send private message
umka



Joined: 21 Jan 2017
Posts: 2

Post (Separately) Posted: Sat Jan 21, 2017 16:48    Post subject: Reply with quote

MVV
Quote:
Для удаления строк длиннее 16 символов заменить чуть модифицированное выражение (^|\n).{16,}\n\n? на \1.


Меня терзают смутные сомнения.

Что если текст будет такой:

Code:
Чт
о
ка
ки
е-т
о р
ек
ом
ен
да
ци


Это регулярное выражение найдет первые любых . 16 символов (включая символы перевода строки, любые ведь), то есть:

Code:
Чт
о
ка
ки
е-т
о р
ек


и заменит их на символ перевода строки или начала строки.
Хотя эти строки заведомо короче 16-ти символов.
Back to top
View user's profile Send private message
Flasher



Joined: 06 Nov 2009
Posts: 11492
Location: Москва

Post (Separately) Posted: Sat Jan 21, 2017 16:59    Post subject: Reply with quote

umka
Ничего подобного. Это в первом примере {0,16} даёт до 16 символов, а во втором {16,} даёт 16+, но по ТЗ тут 17 нужно писать.
_________________
Автору сборки TC Image (Andrey_A) настоятельно рекомендуется не распространять на иных ресурсах любую предоставленную мной где-либо техническую информацию по автоматизации и оптимизации в работе с ТС и системой.
Back to top
View user's profile Send private message
Alextp



Joined: 06 Feb 2005
Posts: 4811

Post (Separately) Posted: Sat Jan 21, 2017 17:25    Post subject: Reply with quote

Офтоп-- в CudaText есть плагин Filter Lines:
вводим там регэкс ^.{17,}$
и он найдет строки больше 16.
И наоборот можно- ^.{,16}$
_________________
UniViewer - SynWrite - CudaText - LogViewer
Back to top
View user's profile Send private message
umka



Joined: 21 Jan 2017
Posts: 2

Post (Separately) Posted: Sat Jan 21, 2017 22:08    Post subject: Reply with quote

Flasher
разве символы перевода строки не считаются за символы?
Back to top
View user's profile Send private message
Display posts from previous:   
Post new topic   Reply to topic    Total Commander Forum Index -> Программное обеспечение All times are GMT + 4 Hours
Goto page 1, 2  Next
Page 1 of 2

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group