LINUX.ORG.RU

Вышел sed 4.6

 ,


1

2

Чуть меньше чем через 9 месяцев после релиза версии 4.5 вышел sed 4.6.

В новой версии:

  • теперь sed явно сообщает когда у комманд r/R/w/W (а также s///w) пропущен аргумент с именем файла;
  • теперь sed пишет в файлы не с построчным буфером, а с полноценным буфером (что должно значительно увеличить производительность «sed -i»); отключить буфер как и раньше можно опцией "-u";
  • пользователи «non-cygwin windows environments» (таких как, например, mingw) должны оценить то, что теперь там sed корректно обрабатывает '\n' в режиме -b/--binary;
  • устранёна ошибка с переполнением кучи, когда в команде 's' указывались некорректные обратные ссылки (ошибка присутствовала с версии 4.0.6 (2003-й год));
  • исправлена ошибка с переполнением кучи при выполнении команды «s/$//n»; также теперь sed не добавляет дополнительный NUL при выполнении этой команды (ошибки присутствовали с версий 4.3 и 4.0.7 соответственно (2017-й и 2003-й годы));
  • добавлена новая опция "--debug", которая выводит скрипт в канонической форме и отмечает его выполнение.

>>> Скачать

★★★★★

Проверено: Shaman007 ()

режиме -b/--binary;

в голову не приходило использовать sed на двоичных файлах.

устранён баг с переполнением кучи... исправлен баг с переполнением кучи

решето

выводит скрипт в канонической форме и отмечает его выполнение

православно, одобряю.

AVL2 ★★★★★ ()
Ответ на: комментарий от AVL2

в голову не приходило использовать sed на двоичных файлах.

Часто использую. Очень удобно на самом деле. Для замены текстовых строк в оных, естественно. Например что-то типа пути к сейв-файлам, если он упоротый, в игре (проприетарной, исходников нет, только бинари).

По теме: наконец-то что-то действительно нужное.

anonymous ()
Ответ на: комментарий от AVL2

в голову не приходило использовать sed на двоичных файлах

так ты вроде виндузятник - как там вообще можно жить без правки бинарных файлов ?

anonymous ()
Ответ на: комментарий от Zlogene

в винде нет sed?

в винде есть все
натив

 https://github.com/mbuilov/sed-windows

WSL

user@DESKTOP:~$ apt list sed
Listing... Done
sed/bionic,now 4.4-2 amd64 [installed]
user@DESKTOP:~$ uname -a
Linux DESKTOP 4.4.0-17134-Microsoft #471-Microsoft Fri Dec 07 20:04:00 PST 2018 x86_64 x86_64 x86_64 GNU/Linux
anonymous ()
Ответ на: комментарий от env

Павершел адок ещё тот, но если ты профессиональный индус, вполне автоматизируется. Нонейм студентоподелками 20 летней давности, о которых ты ещё должен знать и которые ещё должны запускаться в последней венде. Хотя в принципе отличий от cmd.exe не много тогда, лол. Павершел это больше про дотнет интерфейсы и com+.

anonymous ()

я удивляюсь, что у таких утилит за столько лет ещё есть, что добавлять в фичи и править :) но в целом это хорошо. хотя я как-то чаще юзаю perl -pe. наверное, привычка. и по-моему перл шустрее. для больших объёмов может оказаться очень существенно.

Iron_Bug ★★★ ()

Уже вышла версия 4.7 с исправлением бага, который появился в версии 4.6. Баг связан с неправильным определением соответствий регулярным выражениям с '\b' при локали C (как минимум).

$ echo 123-x|LC_ALL=C sed 's/.\bx//'
123-x
ftp://ftp.gnu.org/gnu/sed/sed-4.7.tar.xz

saahriktu ★★★★★ ()

теперь sed пишет в файлы не с построчным буфером, а с полноценным буфером (что должно значительно увеличить производительность «sed -i»)

Это как-то отразится на дефолтном поведении «жадный поиск до конца строки»?

non-cygwin windows environments

Посоветуйте свежую сборку.

olegd ★★ ()

Нужно! Отличная головоломка. Одно время увлекался седом, даже игру на нем написал. После, правда, запил, вылетел из универа и с тех пор забросил программирование. Но это уже совсем другая история...

anonymous ()