Разработаны версии diff и grep, учитывающие структуры данных
6![Dartmouth Hall в Университете Дартмута Dartmouth Hall в Университете Дартмута](/uploads/news/large_image/a49bae7bcd4f94e9006396b77c6b8c1bdf8ea48c_large_image.jpg)
Иллюстрация с сайта En.Wikipedia.Org
Специалисты из Университета Дартмута (Dartmouth College) представили на проходящей в эти дни в Бостоне (Канада) конференции USENIX LISA (Large Installation System Administration) 2011 усовершенствованные варианты классических UNIX-утилит grep и diff, предназначенные для обработки более сложных данных.
Аспирант Гэбриэл Вивер (Gabriel Weaver) и профессор Шон Смит (Sean Smith) рассказали про BGrep («ориентированный на блоки grep») и BDiff («ориентированный на блоки diff»), которые позволяют обрабатывать данные не построчно, как это делают традиционные инструменты, а блоками. Эти блоки определяются структурами данных, хранимыми в специальной библиотеке шаблонов.
Авторы новых инструментов говорят, что их разработки призваны заметно расширить возможности обработки различных «сложных» данных (не обычных логов, где каждая запись хранится в виде строки определенного формата) — например, от операционной системы Cisco IOS: «Для таких данных утилиты вроде diff оказываются слишком низкоуровневыми. Инструмент diff не учитывает структуру языка, на котором записаны данные, где вы хотите обнаружить отличия». Порой diff находит множество отличий, которые в действительности (логически) могут относиться к единственному изменению — просто «разбросанному» по разным строкам. BDiff призван решить этот недостаток в diff. Аналогично — BGrep для grep.
Работа частично финансировалась компанией Google и Министерством энергетики США.
Научная статья авторов с обзором bgrep и bdiff доступа в PDF (англ. яз).
Постоянная ссылка к новости: http://www.nixp.ru/news/11529.html. Дмитрий Шурупов по материалам ITworld.
Бен Коттон из Red Hat предложил маркировать и удалять пакеты-пенсионеры при обновлении Fedora
1 3
Сообщество FreeBSD сменило кодекс поведения — участники не приняли риторики Geek Feminism
2 2
В Linux Mint отключат snap, а чтобы он не вернулся, выпилят из репозиториев Chromium
1
Snapcraft научили делать прогрессивные релизы 1
Доступен традиционный серверный релиз Fedora 27, а проект Modularity будет переосмыслен 15
Kata Containers — новая веха для контейнеров Clear Containers от Intel в OpenStack Foundation 1
Последние комментарии
-
OlegL, 17 декабря 2023 года в 15:00 → Перекличка 21
-
REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
-
fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
-
Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
-
Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
![Palark Palark](/uploads/ad/image/d427c812fdc940fc0862f8c77f8217a70cc40e81.png)
Наверно можно будет использовать в системах контроля версий.
Инструмент diff не учитывает структуру языка, на котором записаны данные.
Язык упрощать надо, а не комбайны наворачивать.
…«сложных» данных (не обычных логов, где каждая запись хранится в виде строки определенного формата) — например, от операционной системы Cisco IOS.
Почему я не удивлён?