LINUX.ORG.RU

Вышел sed 4.5

 ,


1

3

Чуть больше чем через год после предыдущего релиза (версии 4.4) состоялся релиз GNU sed 4.5.

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

  • sed теперь выдаёт ошибку при сравнении длинных (больше чем 2 Гб) строк вместо прежнего молчаливого игнорирования проблемы;
  • sed теперь не обрезает комментарии и закрывающие скобки после команды «y///»;
  • «sed -E --posix» теперь больше не игнорирует специальное назначение символов '+', '?' и '|';
  • «sed -i» теперь создаёт selinux контекст, основанный на контексте симлинка, а не на том файле, на который указывает симлинк (при наличии selinux); поведение «sed -i --follow-symlinks» остаётся прежним (модифицируется файл на который указывает симлинк с сохранением симлинка);
  • '\x5c' (обратная косая черта) теперь для sed'а литерал, а не спецсимвол для экранирования;
    старое поведение:
         $ echo z | sed -E 's/(z)/\x5c1/' # идентично 's/(z)/\1/'
         z
    
    новое поведение:
         $ echo z | sed -E 's/(z)/\x5c1/'
         \1
    

>>> Скачать

★★★★★

Проверено: jollheef ()
Последнее исправление: saahriktu (всего исправлений: 2)

Еще один шаг к находке послания богов в числе пи.

tereshchenko ★★
()
Последнее исправление: tereshchenko (всего исправлений: 1)

sed теперь не обрезает комментарии и закрывающие скобки после команды «y///»;

Вот это не очень понятно.

evilface ★★
()

Это, граждане, вообще не задача седа, проверять конекст безопасности. Это задача ОС.

anonymous
()

sed теперь выдаёт ошибку при сравнении длинных (больше чем 2 Гб) строк

«FATAL: DNA corruption detected» ?

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

GNU был захвачен грязными руками RedHat, и теперь каждая утилита будет превращена в комбайн. Ты погоди, в sed ещё браузер встроят.

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

Зачем в седе браузер, ты упоролся? Достаточно нейронной сетки для оптимизации поиска.

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

И, кстати, он уже подходит под паттерн s*d, поэтому тут всё сходится.

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

вот тоже не поняла, нахрена sed'у углубляться в особенности реализации selinux. это что-то в корне неправильное.

Iron_Bug ★★★★★
()

Зачастили что-то.

Решето?

AVL2 ★★★★★
()

'\x5c' (обратная косая черта) теперь для sed'а литерал, а не спецсимвол для экранирования;

Где-то что-то поломается.

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

sed (stream editor) is a non-interactive command-line text editor.

Разумеется. А «interactive command-line text editor» - это ed.

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

Сед не проверяет контекст, а выставляет для создаваемых им файлов правильный, чтобы проверка в ОС потом проходила нормально.

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

при всей неприязни к редхату, он тут не при чём. многие гнушные утилиты потеряли unix-way и начали превращаться в комбайны задолго до появления редхата.

anonymous
()

Единственное, чего мне в нём не хватает, это простого ключа для восприятия всего текста как одной строки :)

И интересно, исправление -i повлияет ли на давний баг с неудалением временных файлов под оффтопиком?

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

а для чего эта программа?

Серьёзно? Для редактирования текстовых потоков. Обычно чтобы взять выходной поток одной программы и преобразовать в вид понятный другой программе. Также подходит для массовой однотипной правки большого количества текстовых файлов.

На работе я им заменяю пути в bat-файлах, например N:\version2010\ на K:\version2018\ А дома пишу скрипты, которые преобразуют скачанное оглавление книги в серию вызовов cURL-а, а затем склеивают полученные главы в один файл, заодно вырезая рекламу. Более опытные пользователи пишут на нём игры вроде тетриса или шахмат.

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

тетриса или шахмат.

сэдтриса и сэдчесс )) вторые, кстати, адекватно рабочие так и не нашел, хотя утверждали, что некоторые версии работают даже с управлением противника с помощью движков а-ля gnuchess

sex123

а для чего эта программа?

в гугле забанили?

Crystal_HMR ★★★
()
Последнее исправление: Crystal_HMR (всего исправлений: 1)
Ответ на: комментарий от Iron_Bug

вот тоже не поняла, нахрена sed'у углубляться в особенности реализации selinux

чтобы наверняк не собрался где то ещё. А вы думали только потцеру можно? Люди мля - сами себе злейшие буратины. :(

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

Только для того, кто и не пробовал разбираться.

А теперь для простого редактирования файлов меньше 2ГБ он и не нужен - есть редактор. Маскировка вымораживает, чем её меньше, тем лучше.

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

вырезать SELinux оттуда

Неосилятор SELinux порвался. Несите нового.

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

ну, пока есть перл, мир в безопасности. но тенденции печальны, да.

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

затем, что sed -i действует по принципу: скопировал файл - удалил старую версию - создал новый

так как ему создать новый файл, игнорируя вопросы безопасности? с дырой?

next_time ★★★★★
()

Хочу ОС, в которой все общение между процессами ведется в терминах структур данных единого ЯП и даже файлы являются серилизованными версиями таких структур. И больше никаких текстовых преобразований без гарантии корректности формата на выходе. Представьте себе насколько ненадежно было бы писать на sed аспект для кода на каком-то языке. Чуть поменялся исходник - скрипт перестал выдавать компилируемый код. Пусть лучше все будет типизированным, и файлы на диске, и проги их открывающие. Типа mplayer /dev/null выдает Compile time error: mplayer: Video|Audio -> Unit is incopatible with type ByteStream.

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

Форматы на низком уровне ненужны. Они должны реализовываться на верхнем уровне. Это уже забота конкретного софта. А ОС должна просто гонять байты и это не её дело от чего они и что с ними будет делать софт.

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

Что это!?!? Такое впечатление, что школьник или красноглазый пожилой 1с-ник, отчаявшись разобраться в синтаксисе sed, накостылил свой лисапед да еще на паскале. Самобытность усиливается тем, что манов нет. Нужно заглянуть в исходник чтобы понять что там к чему. А какие чудесные ключи:

konecpoiska,zamena,derevo Карл!
Можно только пожелать автору «этого» довести свой продукт до ума, расширить функционал, отказаться от использования меток и goto в программе и тогда на выходе получится точно такой же sed, только в профиль.

A-234 ★★★★★
()
Ответ на: комментарий от sex123

для текстового редактирования текстового текста

buratino ★★★★★
()
Ответ на: комментарий от A-234

Что это!?!? Такое впечатление, что школьник или красноглазый пожилой 1с-ник, отчаявшись разобраться в синтаксисе sed, накостылил свой лисапед да еще на паскале.

И что тебя не устраивает? Редактор в котором есть всё что надо для простого редактирования и нет ничего что портило бы синтаксис. А паскаль хоть нормально компиляется и легко патчится. То свободное что написано на плюсах - мёртвый код как только автор забивает или не правит баги.

Самобытность усиливается тем, что манов нет. Нужно заглянуть в исходник чтобы понять что там к чему.

Запускаешь редактор без параметров и получаешь подробную справку, дублировать которую 1:1 в ман нет смысла.

А какие чудесные ключи:
konecpoiska,zamena,derevo Карл!

Ты плохо читал справку, ключи на буржуйском дублируют ключи на русском: --конецпоиска=цифра, --замена, --симлинки0, --дерево и прочие. Ты против русского языка?

Можно только пожелать автору «этого» довести свой продукт до ума, расширить функционал,

Там только работа с очень большими файлами из нужного не реализована, зато нет никаких временных файлов, остальное для простого редактирования не нужно. Что в работающем и хорошо собираемом продукте ещё можно доводить до ума? Наверно, автору надо переписать его на кобол чтобы плюсеры не шипели на паскаль.

отказаться от использования меток и goto в программе

Для готохейтеров есть питон, хотя и туда гото влепляли.

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

Форматы на низком уровне ненужны

Если бы они были, и были сделаны толково (не мешались когда надо что-то странное сделать), жизнь стала бы более комфортной.

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

Это явно менее универсальный инструмент.

Это специализированный юниксвейный инструмент, синтаксис которого недостаточен для написания на нём шахмат. Не всем редактирующим файлы нужно одновременно с этим играть в редакторе в шахматы и для этого зубрить шахматный синтаксис.

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

Редактор в котором есть всё что надо для простого редактирования...

Ну да, все что мне нужно - просто, а все что я не осилил - не нужно. Эту вашу позицию я уже понял.

Запускаешь редактор без параметров и получаешь...

Нет привычки запускать все подряд не понимая что оно сейчас тебе понаделает. Поэтому при отсутствии манов читаю исходник. И да, вижу там груду плохо структурированного кода писанного на коленке с торчащими goto.

ключи на буржуйском дублируют ключи на русском

Транслитом!

иф ИОрезульт<>0 зен гоуту 1;
Нихт шпацирен майн гауляйтер.

Для готохейтеров есть...

Есть такой ученый по имени Дейкстра, я его мнению доверяю больше. Как-то раз он заметил:За многие годы я утвердился во мнении о том, что квалификация программистов - функция, обратно зависящая от частоты появления операторов go to в их программах.1968 год. 50 лет и никакого прогресса.

A-234 ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.