Как реализовать много-столбцовый вывод файлов в консоль, как в утилите ls?

Мне нужно реализовать функционал утилиты ls с помощью языка C. Нужно повторить все точь в точь, как и в оригинальной ls. И проблема, которую я не могу решить - это многостолбцовый вывод. В оригинальном ls по дефолту все содержимое выводится в несколько столбцов, примерно вот так:\

dir1 file1 file2 dir2
dir3 file3 file4 dir4

Но при использовании ls | cat -e, оказывается, что после каждого выводимого файла находится символ конца строки. Вот так:

dir1$
file1$
file2$
dir2$
...

Вопрос в том, как же все таки этот вывод работает в оригинальном ls, и как можна было бы его реализовать с помощью C? Спасибо.


Ответы (0 шт):