Ровно месяц спустя после выхода версии 8.9, 4 февраля вышла новая, уже вторая в этом году, версия набора утилит GNU coreutils. В этом новом выпуске не только исправлены ошибки, но и добавлены новые расширения и дополнения.
Исправленые ошибки:
- rm -f больше не падает из-за EINVAL или EILSEQ, когда имя файла не поддерживается файловой системой.
- join --header теперь пропускает проверку порядка для первой строки файла, когда оставшаяся часть файла пуста. (Ошибка появилась в версии 8.5).
- uniq -f NUMBER больше не пытается обрабатывать поля после конца файла. (Ошибка появилась в версии 7.0).
- du не прерывает свою работу, если файловое дерево перемещается на уровень выше в тот момент, когда du работает с его поддеревом. Подробности и пример работы можно отыскать в файле tests/move-dir-while-traversing. (Ошибка появилась в версии 5.10).
Новые возможности:
- Программы копирования и перемещения файлов cp и mv более эффективно работают с разреженными файлами на файловых системах, поддерживающих FIEMAP (это ext4, btrfs, xfs, ocfs2). Теперь копируется только существенная часть файла, а остальное забивается нулями.
- У команды join появилась новая опция -o auto. При указании этой опции число полей в выходном потоке будет определяться исходя из первой строки каждого файла и сохраняться постоянным для каждой строки. Отсутствующие поля при этом заполняются строкой, указанной в -e STRING. Лишние поля будут выкидываться.
- Один из входных файлов программы join может быть пустым. Это позволяет использовать join как cut: $ join -a1 -o 1,3 1,1 - /dev/null
>>> Источник