The OpenNET Project / Index page

[ новости/++ | форум | wiki | теги | ]

09.08.2016 08:12  Выпуск GNU Diffutils 3.4 с поддержкой цветного вывода

Спустя три с половиной года с момента прошлого выпуска представлен релиз набора GNU Diffutils 3.4, включающего утилиты для оценки различий в файлах, такие как diff, diff3, sdiff и cmp. В новой версии представлено два значительных улучшения:

  • Добавлена опция "--color", при помощи которой можно сформировать наглядное выделение различий цветом. Опционально поддерживается передача параметра, определяющего в каких ситуациях применять подсветку строк: "--color=always", "--color=auto" и "--color=never". Для настройки цветов предоставлена опция "--palette".
  • Впервые с 1993 года внесены изменения в предлагаемый по умолчанию алгоритм выявления различий. Изменения позволили увеличить качество вывода результатов сравнения, ценой небольшого повышения нагрузки на CPU.


  1. Главная ссылка к новости (http://www.mail-archive.com/in...)
Лицензия: CC-BY
Тип: Программы
Ключевые слова: diffutils, diff, patch
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение Ajax/Линейный | Раскрыть все сообщения | RSS
 
  • 1.1, Лютый жабист_ (?), 08:29, 09/08/2016 [ответить] [показать ветку] [···]     [к модератору]
  • –19 +/
    На самом деле все эти утили безбожно устарели Например sort Казалось бы - напи... весь текст скрыт [показать]
     
     
  • 2.3, Аноним (-), 08:46, 09/08/2016 [^] [ответить]    [к модератору]  
  • +11 +/
    На 1С перепиши.
     
     
  • 3.4, Лютый жабист_ (?), 08:53, 09/08/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    А по делу что скажете? Медленнее в сотни раз, зато православно? :)
     
     
  • 4.80, Аноним (-), 21:53, 12/08/2016 [^] [ответить]    [к модератору]  
  • +/
    > А по делу что скажете? Медленнее в сотни раз, зато православно? :)

    По делу на это говорят patches welcome.

     
  • 3.5, Лютый жабист_ (?), 08:58, 09/08/2016 [^] [ответить]    [к модератору]  
  • –4 +/
    Ещё из того что вызывает недоумение в 2016-м году:

    Argument list too long у большинства "старых добрых" утилей, например grep -R /dir-with-50k-files

     
     
  • 4.7, anonymous (??), 09:03, 09/08/2016 [^] [ответить]    [к модератору]  
  • +7 +/
    Ты реально дурачек если незнаешь что это
     
     
  • 5.11, Horekk (?), 09:27, 09/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Пусть я буду дурачком, но вы бы не могли пояснить?
     
     
  • 6.15, Аноним (-), 09:49, 09/08/2016 [^] [ответить]    [к модератору]  
  • +5 +/
    Общая длина аргументов командной строки ограничивается ядром ОС.

    Вот почитайте для общего развития http://www.in-ulm.de/~mascheck/various/argmax/

     
     
  • 7.17, Лютый жабист_ (?), 10:11, 09/08/2016 [^] [ответить]     [к модератору]  
  • –8 +/
    Интересно, почему тогда ls home xml 124 wc -l прекрасно работает, а grep ... весь текст скрыт [показать]
     
     
  • 8.19, anonymous (??), 10:14, 09/08/2016 [^] [ответить]    [к модератору]  
  • +6 +/
    ты будешь удивлен, но это не grep пишет
     
     
  • 9.81, Аноним (-), 21:57, 12/08/2016 [^] [ответить]     [к модератору]  
  • +/
    А мы не будем удивлены - он честно написал что жабист Поэтому он дуб и не поним... весь текст скрыт [показать]
     
  • 8.21, Crazy Alex (ok), 10:25, 09/08/2016 [^] [ответить]    [к модератору]  
  • +8 +/
    Потому что в первом случае у команд по одному аргументу. Содержимое каталога из stdout ls в stdin wc летает. А во втором - шелл разворачивает звёздочку в собственно список файлов, и он же ругается.
     
  • 8.48, anonymous (??), 16:53, 09/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Потому что в пером случае длинный список файлов едет в wc через пайп, и обе команды имеют ровно один аргумент. Сделай

    ls /home/xml/*

    и получишь ту же ошибку.

     
  • 8.52, Мяут (ok), 19:07, 09/08/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Откройте для себя xargs
     
  • 4.13, Sabakwaka (ok), 09:45, 09/08/2016 [^] [ответить]    [к модератору]  
  • +8 +/
    >> А по делу что скажете?

    По делу скажу, что вы нас обманываете.

     
  • 4.14, Michael Shigorin (ok), 09:49, 09/08/2016 [^] [ответить]    [к модератору]  
  • +5 +/
    > Argument list too long у большинства "старых добрых" утилей, например grep -R
    > /dir-with-50k-files

    И ведь врёте.  Ну или кой-чего протеряли.

     
  • 4.82, Аноним (-), 22:12, 12/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Представь себе, максимальный размер argv и env - ограничен Для безразмерных в... весь текст скрыт [показать]
     
  • 3.84, Аноним (-), 22:17, 12/08/2016 [^] [ответить]    [к модератору]  
  • +/
    > На 1С перепиши.

    Зачем? Уже есть git diff. Он умеет и с цветом и даже сравнение файлов совсем без гитовых реп. А в гитовых репах еще и по ревизиям может сообразить. Superset diff'а.

     
  • 2.6, Anon15 (?), 09:02, 09/08/2016 [^] [ответить]    [к модератору]  
  • +5 +/
    Очень мило: единичный пример с одной старой утилитой (вы хоть в багтрекер отписались?) и тут же вывод о том, что ВСЕ "эти утили безбожно устарели".
     
     
  • 3.8, анонко (?), 09:05, 09/08/2016 [^] [ответить]    [к модератору]  
  • +6 +/
    если пользоваться "старым и проверенным", нынешним программистам будет не за что платить
     
  • 2.12, . (?), 09:27, 09/08/2016 [^] [ответить]    [к модератору]  
  • +6 +/
    присоединяюсь к - завязывай с наркотой.
    Если "прога на жабе" гигабайт сортирует за 40 секунд - это мухоморы. Потому что даже у хороших дисков нынче 200mb/s в идеально-сферическом вакууме - она из этих сорока 20 только читать файл будет.

    Никаких прорывов в алгоритмах сортировки со времен первого тома Кнута нет.
    Поэтому если у тебя действительно что-то получилось быстрее чем у sort - скорее всего, твоя программа делает (недопустимые) предположения о наборе исходных данных или об окружении (размере файла, количестве доступной памяти).
    Если мы знаем заранее что в файле лежат номера паспортов, которые всегда начинаются с цифры и первые две всегда 45, причем длины строк тоже в предсказуемом диапазоне - да, можно сделать побыстрее чем sort. Только ничего кроме этого файла оно сортировать и не будет. Причем и с этим не все хорошо - его составляли люди, и им свойственно иногда вляпать z вместо 4. Или склеить две строки в одну.

    > Так что модный порыв - переписать всё на GO вполне возможно, что и не глупость.

    глупость, увы - потому что пока кроме массы переписанных sort'ов ничего хорошего этот порыв не произвел. Все _большие_ проекты на go выглядят на редкость уныло. Возможно именно потому, что весь пар ушел в переписывание stdlib. Но скорее в виду специфики языка.

     
     
  • 3.16, Лютый жабист_ (?), 10:09, 09/08/2016 [^] [ответить]     [к модератору]  
  • –3 +/
    Потому что даже у хороших дисков нынче 200mb s в идеально-сферическом вакууме Г... весь текст скрыт [показать]
     
     
  • 4.20, Лютый жабист_ (?), 10:15, 09/08/2016 [^] [ответить]    [к модератору]  
  • –3 +/
    Так, навскидку... в fastutils какие-нибудь суровые красно-черные деревья, а в GNU sort плешивый пузырёк. :)
     
     
  • 5.22, angra (ok), 10:28, 09/08/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    С каких пор пузырек стал разновидностью merge sort? Или ты из "я знаю ушу, кунг-фу и много других страшных слов"?
     
  • 4.24, . (?), 10:32, 09/08/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    _в идеально сферическом вакууме_ - это sustained read, в однозадачной системе И... весь текст скрыт [показать]
     
     
  • 5.26, . (?), 10:41, 09/08/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    > не получается? Значит, это проблема go.

    а, стоп. У него жаба же. Ну да, ну да.

     
  • 5.31, angra (ok), 11:12, 09/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Слышь, борец за права С, ты вообще в курсе, что в С the minimum size for short ... весь текст скрыт [показать]
     
     
  • 6.53, Аноним (-), 20:18, 09/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    сам-то умнее тебе слово minimum увеличить sizeof short sizeof int si... весь текст скрыт [показать]
     
     
  • 7.60, Аноним (-), 22:53, 09/08/2016 [^] [ответить]    [к модератору]  
  • +/
    ТруЪ-восьмибитный процессор с 32-битным short-ом? Wat?
     
  • 7.62, angra (ok), 00:01, 10/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Я так понимаю, что дальше первого предложения ты не прочитал и сразу бросился ст... весь текст скрыт [показать]
     
     
  • 8.77, Аноним (-), 20:10, 10/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Слушай, вот, блин, честно так и было Я не шучу Поздно было, хотелось спать Са... весь текст скрыт [показать]
     
     
  • 9.85, Аноним (-), 22:19, 12/08/2016 [^] [ответить]    [к модератору]  
  • +/
    В ранних стандартах си много странностей. А вменяемые типы с известными размерам - появились в C99. Пользуйтесь наздоровтье, они 17 лет с вами.
     
  • 4.83, Аноним (-), 22:14, 12/08/2016 [^] [ответить]    [к модератору]  
  • +/
    > Потому что даже у хороших дисков нынче 200mb/s в идеально-сферическом вакууме

    А у хороших SSD и пара гигов в секунду бывает. Стоят они правда тоже хорошо.

     
  • 3.49, й (?), 18:06, 09/08/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    > Потому что даже у хороших дисков нынче 200mb/s в идеально-сферическом вакууме

    у меня два гига на чтение, гиг на запись. на лаптопе с одним ssd (он не sata, да). добро пожаловать в 2016 год.

     
  • 2.18, angra (ok), 10:12, 09/08/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    Я даже не поленился проверить 50kk строк с случайными 10-ти цифровыми значениям... весь текст скрыт [показать]
     
     
  • 3.23, Аноним (-), 10:29, 09/08/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Ну пи**ит же как троцкий. Или руки у него закручены восходящей спиралью вокруг туловища.
     
  • 3.25, . (?), 10:40, 09/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    env LC_ALL C в данной задаче нам очень вряд ли нужны правильные collate sequence... весь текст скрыт [показать]
     
     
  • 4.33, Лютый жабист_ (?), 11:29, 09/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Качайте оригинал, не страдайте фигнёй http guvm mvd ru upload expired-passpo... весь текст скрыт [показать]
     
     
  • 5.34, Лютый жабист_ (?), 11:40, 09/08/2016 [^] [ответить]     [к модератору]  
  • –3 +/
    Сделаем сишечке гандикапчик распаковал в TMPFS bla vault13 tmp time bz... весь текст скрыт [показать]
     
     
  • 6.35, Лютый жабист_ (?), 11:43, 09/08/2016 [^] [ответить]     [к модератору]  
  • –3 +/
    С -n таки отработало за 43 сек Почти как жаба Но потребление ОЗУ по-прежнему... весь текст скрыт [показать]
     
     
  • 7.39, Лютый (?), 13:58, 09/08/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Всё,вспомнил. Задача была выделить дельту из последнего списка и недельной давности. И как раз diff час тупил и жрал озу.
     
     
  • 8.54, Аноним (-), 20:21, 09/08/2016 [^] [ответить]    [к модератору]  
  • +5 +/
    > Всё,вспомнил.

    Да-да, и не в лотерею, а в покер, и не выиграл, а проиграл.

     
     
  • 9.70, Лютый жабист_ (?), 12:01, 10/08/2016 [^] [ответить]     [к модератору]  
  • –3 +/
    Вообще, мне уже очевидно, что в теме ни одного прогера кроме меня нет Пото... весь текст скрыт [показать]
     
     
  • 10.72, freehck (ok), 13:03, 10/08/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    Ты про hashmap ни словом не обмолвился И задачу про выделить дельту только в ... весь текст скрыт [показать]
     
     
  • 11.75, Andrey Mitrofanov (?), 15:14, 10/08/2016 [^] [ответить]     [к модератору]  
  • +2 +/
    Во-первых, comm -3 Во-вторых, sort -u В-третьих, зачем Вы разговариваете с меб... весь текст скрыт [показать]
     
     
  • 12.76, freehck (ok), 18:18, 10/08/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    О, спасибо Не знал про неё Уточнения ради я всегда использовал sort 124 un... весь текст скрыт [показать]
     
  • 6.71, freehck (ok), 12:45, 10/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Ещё бы ты размер этого файла приложил А то может у тебя 2 гига - это в архиве ... весь текст скрыт [показать]
     
  • 5.41, Анонизмус (?), 14:22, 09/08/2016 [^] [ответить]    [к модератору]  
  • +1 +/
    export LC_ALL=C
    time sort list_of_expired_passports.csv > list_of_expired_passports_s.csv

    real 0m44.701s
    user 1m19.532s
    sys 0m3.836s

     
     
  • 6.42, Анонизмус (?), 14:23, 09/08/2016 [^] [ответить]    [к модератору]  
  • +/
    При этом потребление памяти 3ГиБ, в пике.
     
  • 2.29, Ананым (?), 10:59, 09/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Не поверишь, но линух без них не работает И bsd Поэтому срочно перелезай на wi... весь текст скрыт [показать]
     
     
  • 3.32, angra (ok), 11:25, 09/08/2016 [^] [ответить]     [к модератору]  
  • –2 +/
    Я правильно понимаю, что в твоем представлении без diff или sort ядро не запусти... весь текст скрыт [показать]
     
     
  • 4.44, Ананым (?), 16:29, 09/08/2016 [^] [ответить]    [к модератору]  
  • +/
    В доказательство своих слов приведите хоть один полноценный дистр, работающий без данных утилит.
     
  • 4.47, Ананым (?), 16:41, 09/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Нет, не правильно Речь не про ядро, а про систему Работать на голом ядре не лю... весь текст скрыт [показать]
     
     
  • 5.50, angra (ok), 18:32, 09/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Да легко - alpinelinux Они конечно там есть в репах, но без них отлично работае... весь текст скрыт [показать]
     
     
  • 6.57, Ананым (?), 20:58, 09/08/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    не поверите, но в busybox есть такие утилиты, которые sort и diff busybox 1... весь текст скрыт [показать]
     
     
  • 7.63, angra (ok), 00:10, 10/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    Ты похоже вообще потерял нить рассуждений Речь шла об устаревании _GNU реализац... весь текст скрыт [показать]
     
     
  • 8.65, Ананым (?), 00:26, 10/08/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    цепляние за термины есть утилита sort, выполняющая сортировку, и есть утилита d... весь текст скрыт [показать]
     
     
  • 9.67, angra (ok), 02:22, 10/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Показываю на пальцах, можешь повторить mv usr bin sort root mv usr bin... весь текст скрыт [показать]
     
  • 3.40, . (?), 14:15, 09/08/2016 [^] [ответить]     [к модератору]  
  • –3 +/
    аллах с тобой, сто лет уже как он без них работает Без них не работало разьве ч... весь текст скрыт [показать]
     
     
  • 4.45, Ананым (?), 16:32, 09/08/2016 [^] [ответить]     [к модератору]  
  • –2 +/
    Аналогично предыдущему персонажу приведите пример полноценного дистра, работающ... весь текст скрыт [показать]
     
     
  • 5.73, Аноним (-), 13:09, 10/08/2016 [^] [ответить]     [к модератору]  
  • –1 +/
    ну хочешь - сделаю rm и он будет работать правда, что тогда такое полноценный... весь текст скрыт [показать]
     
  • 2.36, Stax (ok), 12:05, 09/08/2016 [^] [ответить]     [к модератору]  
  • +1 +/
    Продемонстрируйте вывод top ps Вообще-то sort занимает не более определенного ... весь текст скрыт [показать]
     
  • 2.58, Аноним (-), 21:06, 09/08/2016 [^] [ответить]    [к модератору]  
  • +3 +/
    Товарищи модераторы, а почему я должен читать этого кретина?
     
     
  • 3.74, freehck (ok), 13:12, 10/08/2016 [^] [ответить]     [к модератору]  
  • +/
    Не читайте Имхо, такие комментарии надо оставлять хотя бы для того, чтобы ответ... весь текст скрыт [показать]
     
     
  • 4.78, Аноним (-), 20:30, 11/08/2016 [^] [ответить]    [к модератору]  
  • +/
    А они и так режут. :)

    Спасибо хоть такие как эти не режут, именно по той причине, что вы описали.

     
     ....нить скрыта, показать (64)

  • 1.10, бедный буратино (ok), 09:15, 09/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    > Впервые с 1993 года внесены изменения в предлагаемый по умолчанию алгоритм выявления различий

    как ща помню, как я 23 года назад жаловался на это

     
     
  • 2.30, Ананым (?), 11:00, 09/08/2016 [^] [ответить]    [к модератору]  
  • +/
    а на отсутствие каких именно изменений вы жаловались, если не секрет?


     
     
  • 3.55, Аноним (-), 20:23, 09/08/2016 [^] [ответить]    [к модератору]  
  • +/
    тех, которые про цветной вывод :D
     
  • 1.43, кверти (ok), 16:08, 09/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • +/
    Да что вы слушаете этого Лютого наркомана_. Вот я на С++ написал утилиту, которая его гигабайтный файл за 10 секунд сортирует, а его гнилой жаба-костыль только за 40!
     
     
  • 2.46, Ананым (?), 16:37, 09/08/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    Многие современные любители жаб, рубей и прочих новоявленных языков знают только один язык, остальных не понимают, в результате чего считают их недоязыками. Их пассажи напоминают высказывания об английском тов.Задорнова - в стиле "ну тупые, и язык у них ограничен и годится только для похода в супермаркет".

    PS. сейчас нарисуется разработчик на яве, который примет всё высказанное на свой счёт и примется доказывать, что знает много языков (ц) ванга.

     
  • 2.51, angra (ok), 18:40, 09/08/2016 [^] [ответить]    [к модератору]  
  • –1 +/
    Но код этой мегаутилиты ты нам конечно не покажешь, ведь существует она только в твоем воображении.
     
     
  • 3.56, Ананым (?), 20:44, 09/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Вам бы, батенька, товарища Кнута почитать.
     
     
  • 4.64, angra (ok), 00:15, 10/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Представь себе читал. Давно только, не исключен вариант, что ты в это время еще пешком под стол ходил. И что же ты мне из него хочешь напомнить?
    А может ты просто не знаешь, что алгоритмы можно не только копипастить из книжки, но еще и самостоятельно реализовывать на языке, отличном от используемого автором книги для примеров.
     
     
  • 5.66, Ананым (?), 00:31, 10/08/2016 [^] [ответить]    [к модератору]  
  • +2 +/
    0. те, кто кнута читал, алгоритмы не копипастят.
    1. те, кто кнута читал так давно, имеют несколько другой сленг.
    2. монография - не книга для примеров.

    поэтому взвешенно думаю, что ты ещё школьник.

     
     
  • 6.68, angra (ok), 02:41, 10/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Предположим для смеху, что ты прав и я школьник, в жизни не видевший книг Кнута. Что дальше? Что ты сказать то хотел? Ты Кнута упомянул только как известное тебе страшное слово или все-таки с каким-то смыслом? Потрудись изложить смысл и при этом опять не забыть контекст.
     
     
  • 7.69, Andrey Mitrofanov (?), 09:42, 10/08/2016 [^] [ответить]    [к модератору]  
  • +/
    > Предположим для смеху, что ты прав и я школьник, в жизни не
    >и при этом опять не забыть контекст.

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

     
  • 2.61, rshadow (ok), 23:20, 09/08/2016 [^] [ответить]    [к модератору]  
  • +/
    Правильно цитировать так:

    "Да что вы слушаете этого Лютого наркомана_. Вот я на С++ написал утилиту, которая его гигабайтный файл за 10 секунд сортирует, а его гнилой жаба-костыль только за 40!".

    Алан Тьюринг, член ЦК ВКПБ, 1998г.

     
  • 1.59, Sfinx (ok), 21:29, 09/08/2016 [ответить] [показать ветку] [···]    [к модератору]  
  • –1 +/
    Пацаны наконец-то реализовали 'git diff' ?
     
     
  • 2.79, Аноним (-), 20:48, 11/08/2016 [^] [ответить]    [к модератору]  
  • +/
    > Пацaны наконец-то реализовали 'git diff' ?

    Скорее built-in замену colordiff.

     
  • 2.86, Аноним (-), 22:20, 12/08/2016 [^] [ответить]    [к модератору]  
  • +/
    > Пац аны наконец-то реализовали 'git diff' ?

    Там еще нету сравнения с тэгами/бранчами/ревизиями, так что им есть над чем поработать :)

     

     Добавить комментарий
    Имя:
    E-Mail:
    Заголовок:
    Текст:


      Закладки на сайте
      Проследить за страницей
    Created 1996-2018 by Maxim Chirkov  
    ДобавитьПоддержатьВебмастеруГИД  
    Hosting by Ihor