Я ищу способ сортировки результатов find
для правильной верстки числа каталогов для дальнейшей обработки в bash script. поскольку имена файлов не могут содержать символ NULL (\ 0), я думал, что это сделает отличный разделитель для того, чтобы результаты были отправлены на sort
.
так вот что я ожидал бы работать, как описано:
find ./ -maxdepth 1 -type d -iname 'xyz?' -print0 | sort -t $'\0'
но, к сожалению, я получил compaint sort: empty tab
оглядываясь на объяснение, натолкнулся на вопрос приводящий к аналогичному результату, который op описал как работающий отлично (см. комментарий lucas от 26 апреля). в моем случае (с использованием GNU sort v 7.4) это кажется другим.
i также проверил вывод find по трубопроводу на od -c
, но это только показывает, что результирующие папки разделены нулевым значением, как ожидалось.
кто-нибудь здесь сталкивается с похожим сценарием и, возможно, найдет решение или объяснение, почему \0 кажутся невозможным разделителем для сортировки?
с нетерпением жду ответа...
edit: обратите внимание, что в качестве примера используется команда find, более простой способ проверить/проиллюстрировать это может быть echo "g\0u\0b\0k" | sort -t $'\0'