Наконец-то дошли руки попробовать... Отлично! Правда я имел ввиду именно опцию... И жаль что не сохраняется изначальная сортировка...
Но все равно спасибо!
Posted: Thu Sep 15, 2011 4:58 am
by Instructor
Изменено: увеличение скорости выполнения всех Line* функций и в особенности функций LineGetUnique, LineGetDuplicates, LineRemoveDuplicates, у которых изменен механизм обработки. Изменено: LineGetDuplicates не меняет порядок строк.
Changed: increase execution speed of Line* functions, and in particular LineGetUnique, LineGetDuplicates, LineRemoveDuplicates functions, in which changed the mechanism of processing. Changed: LineGetDuplicates does not change the lines order.
Instructor, отлично работает, только что проверил метод Call("Format::LineSortStrAsc") на документе в 1.327.560 строк - время работы 15-18 секунд, когда раньше можно было и не дождаться!!!
Call("Format::LineRemoveDuplicates") - 13 сек - здорово!!!
Posted: Fri Dec 16, 2011 9:57 am
by VladSh
Сортировка строк по возрастанию добавляет в конце лишний перевод строки.
MouseOptions=23, WordBreak=265, SmartSel::NoSelEOL включен.
P.S. Остальные функции не проверял.
Posted: Fri Dec 16, 2011 11:00 am
by Instructor
VladSh
65-ый раз - отключаем "SmartSel::NoSelEOL".
Posted: Fri Dec 16, 2011 12:25 pm
by VladSh
Instructor
В 65-ый же - он нужен.
По функции сортировки строк по возрастанию.
Баг всё равно присутствует, только с выключенным SmartSel::NoSelEOL он выглядит иначе - перебрасывает курсор на строку, после которой было выделение.
Например выделил 3 строки, курсор стоит в конце 3-й строки, после отработки функции он стоит в начале 4-й.
У нас по этому поводу уже было длительное обсуждение "по поводу захватов переводов всех выделенных строк", и это может быть 256 раз правильно, но но с точки зрения пользователя это баг, - если пользователь выделил 3 строки и это видно визуально, то после отработки различных функций оно так и должно оставаться.
Posted: Sat Mar 17, 2012 9:02 am
by Tcheluskin
Во первых, спасибо автору плагина.
Меня интересует только функция вставки разрывов строк в местах переноса (Format::LineFixWrap).
Проблемы:
1. Format::LineFixWrap не удаляет лишний пробел перед переносом строки.
2. Есть ли отдельный плагин/скрипт только с такой функцией? Прочие мне не нужны.
Спасибо.
Posted: Sat Mar 17, 2012 10:41 am
by opk44
Tcheluskin wrote:Проблемы:
1. Format::LineFixWrap не удаляет лишний пробел перед переносом строки.
Это не проблема. Это нормально. Ф-ция делает ровно то, что должна - "Вставка разрывов строк в местах переноса."
Для удаления концевых пробелов есть соответствующая встроенная (безо всяких плагинов) функция (Alt+Backspace = "убрать Tab'ы и пробелы в конце строк"). Для вызова её в скрипте используйте Command(4174) сразу после вызова LineFixWrap.
Posted: Thu Mar 29, 2012 2:02 pm
by nikspb
Уважаемые!
Не подскажете, что надо сделать, чтобы после применения Format::LineGetDuplicates номера оставшихся строк в тексте окна не изменялись ? (По сравнению с номерами этих строк до применения Format::LineGetDuplicates).
P.S. Плагин LineBoard включен.
Заранее благодарен за ответ.
Posted: Sun Apr 21, 2013 1:08 pm
by dracosha
Instructor спасибо большое за AkelPad.
У меня возник вопрос по данному плагину.
Вот что написано в описании:
Format::LineSortIntAsc
Сортировка строк текста по числовому возрастанию.
может пример конечно и грубоватый, но сортировка по численному возрастанию реально работает только до первого знака /
Posted: Sun Apr 21, 2013 2:09 pm
by KDJ
dracosha
You can do this using the script SortInColumns.js with following settings:
Sort range:
Columns: From: 1, To: 26
Lines: From: 1, To: 20
Sort keys - columns:
Key 1: From: 6, To: 7, Numerically
Key 2: From: 14, To: 16, Numerically
To make easy to see, in AkelPad you should set monospace font (eg.: Consolas, Courier New, Lucida Console).
Posted: Sun Apr 21, 2013 4:16 pm
by Infocatcher
dracosha
Можно сначала отсортировать все строки, а потом выделить нужный столбец с зажатым Alt и отсортировать еще раз. Правда, Group0 и Group1 придется сортировать отдельно...
Posted: Wed Apr 24, 2013 6:45 pm
by dracosha
KDJ
По ссылке какой-то код, в котором я ничего не понимаю
Infocatcher
Дело в том что у меня таких групп аж 145
Posted: Wed Apr 24, 2013 8:35 pm
by opk44
dracosha
Только без обид. Оказание помощи предполагает от просящего, как минимум, желание понять. Если вопрос так стоит, что Вы не желаете даже попробовать самостоятельно разобраться "как воспользоваться чужим скриптом", то предлагаю Вам воспользоваться каким-либо офисным пакетом (MS Excel или LibreOffice). Вероятно для Вас это будет проще и быстрее. Кроме того, это еще и избавит от необходимости "шаманить" над текстом из-за переменной длины и начальной позиции ключей сортировки (0-145).
1) открыть текстовый файл с сортируемым списком.
2) в мастере текстов указываем
на первом шаге: "с разделителями",
на втором шаге: "символом разделителем является" ставим птичку в [другой:], и указываем символ слэш [/]
3) Получаем текст в трех колонках.
Group0 Action0 descr=u13
Group0 Action1 descr=b3
Group0 Action10 descr=u5a
Group0 Action11 descr=u6
Group0 Action12 descr=u6a
...
4) В первых двух столбцах сделать замену "Group" и "Action" на "ничего". Получится так:
0 0 descr=u13
0 1 descr=b3
0 10 descr=u5a
0 11 descr=u6
0 12 descr=u6a
...
5) Сделать сортировку диапазона, указав последовательность (Столбец A, затем Столбец B, затем Столбец C)
6) Осталось склеить текст обратно, восстановив выброшенные слэши, "Group" и "Action". Для русской версии Excel формула будет такой (для второй строки):
=СЦЕПИТЬ("Group";A2;"/";"Action";B2;"/";C2)
7) Растягиваете формулу на все строки. Получаете что хотели
Group0/Action0/descr=u13
Group0/Action1/descr=b3
Group0/Action2/descr=u2
Group0/Action3/flags2=d1
Group0/Action10/descr=u5a
Group0/Action11/descr=u6
...
8) Копируете результат обратно в текстовый файл.
В случае с LibreOffice Calc разница в том, что он не умеет сортировать списки без заголовков, поэтому возможно придется добавить одну строку с "заголовками". И формулы там по английски (на примере второй строки):
=CONCATENATE("Group";A2;"/";"Action";B2;"/";C2)
Есть ограничение по максимальному количеству строк. Для Excel2003 - 65536 строк, LibreOffice - 1048575 строк (минус 1 на заголовки).
Posted: Fri Oct 10, 2014 10:52 am
by Mr.Merak
"Извлечение ссылок из HTML текста"?
а можно сделать более универсальнее? у меня файл вида
[URL=
а не a href
или может можно просто все ссылки из любого файла?