14 февраля тихо и незаметно вышла новая версия набора утилит GNU Coreutils.
Новая программа numfmt — программа для изменения формата представления чисел. Понимает строки формата в стиле printf, а также позволяет работать с размерами файлов, представленных в системе Си или IEC, 1K = 1000 или 1K = 1024 и т.п.
Новые особенности
- У df появилась новая опция --output[=FIELD_LIST], позволяющая задать поля, которые надлежит включить в вывод, или задать вывод всех возможных полей, если параметр опущен. Это дает возможность вывести сведения и о свободных блоках, и о свободных инодах;
- du --threshosld=SIZE исключает из вывода файлы, чей размер меньше заданного (или больше заданного при отрицательной величине SIZE).
Исправленные ошибки
- cp --no-preserve=mode раньше возвращала отличное от нуля значение (ошибка появилась в версии 8.20);
- cut с параметром «N-» раньше выделяла в памяти буфер размером N/8 байт, и этот буфер никогда не использовался (ошибка появилась в версии 8.10);
- cut теперь при появлении некорректного диапазона 0- выводит соответствующее сообщение об ошибке (вместо печати пустых строк, как раньше; эта ошибка присутствовала изначально);
- cut теперь корректно обрабатывает пересекающие диапазоны, ранее «-b2-,3-» интерпретировалось как «-b3-», теперь же как «-b2-» (ошибка присутствовала изначально):
- cut больше не печатает лишний символ-разделитель, когда диапазон полей, ограниченный концом строки, накладывается на другой диапазон полей. Ранее «echo 123 | cut --output-delim=: -b2-, 3» выводила «2:3». Теперь эта команда печатает «23» (ошибка появилась в версии 5.3.0);
- cut -f no longer inspects input line N+1 before fully outputting line N, which avoids delayed output for intermittent input. [bug introduced in TEXTUTILS-1_8b]
- factor больше не впадает в бесконечные циклы на 32-разрядных системах PowerPC и SPARC (ошибка появилась в coreutils-8.20);
- install -m M SOURCE DEST больше не попадает в состояние гонки, когда права на DEST временно выводятся из SOURCE, вместо того, чтобы выводиться из M;
- pr -n больше не падает, когда передается значение ≥32. Кроме того, теперь числа выравниваются пробелами, а не нулями (ошибка появилась в TEXTUTILS-1_22i);
- seq -w теперь проверяет, что при вводе чисел в научной форме записи, вывод правильно выровнен (ошибка присутствовала изначально);
- seq -w ensures correct alignment when the step value includes a precision while the start value does not, and the number sequence narrows. [This bug was present in «the beginning».]
- seq -s больше ошибочно не выводит символ '\n' после первого числа и выводит этот символ после последнего числа вместо символа-разделителя (ошибка появилась в coreutils-8.20);
- timeout now ensures that blocking of ALRM signals is not inherited from its parent, which would cause timeouts to be ignored. [the bug dates back to the initial implementation]
Изменения в поведении
- df --total теперь печатает '-' в поле точки монтирования;
- df теперь правильно обрабатывает точки монтирования с опцией --bind, исключая повторы;
- nl больше не поддерживает устаревшую опцию --page-increment. Используйте --line-increment.
Улучшения
- readlink теперь может работать с несколькими аргументами; опция -z чтобы разделять поля вывода не символом новой строки, а нулевым символом;
- stat и tail теперь знают о существовании файловой системы CEPH;
- stty теперь позволяет конфигурировать DTR/DSR там, где это возможно.
>>> Подробности