Вот две цепочки команд:
cat ./*.txt|sort -u|grep test
cat ./*.txt|grep test|sort -u
в зависимости от объёма приходящих от cat данных могут дать разные результаты.
Почему это происходит?
Я думаю что это баг.
Используемая мной для тестоа конструкция вида cat ./* |конвейер > result_file.txt
приводит к тому, что конвейер начинает обрабатывать файлы с собственными результатами, что видимо и стало причиной ошибки.
Хотя раньше,много лет назад когда я наблюдал этот баг я мог делать запросы конвейером и без вывода в файл, но похоже что по крайней мере в текущем Devuan наблюдаемый мной несколько лет назад баг исправлен.
Приношу всем свои извинения за беспокойство.