Как ls -R отображает файлы (пробелы)

#shell #ls

#оболочка #ls

Вопрос:

В рамках школьного проекта мне приходится частично перекодировать функцию ls

Однако я не понимаю, как ls обрабатывает пробелы с помощью опции -R Пробелы между столбцами кажутся мне разными, как они определяются?

 bash-3.2$ ls -R
directory.o display_file.o  file.o          link.o      options.o   recursive.o utils.o
display     display_files.o formatting.o    main.o      path.o      search.o
  

Комментарии:

1. К вашему сведению, -R опция не имеет никакого отношения к форматированию вывода. Это создает ls рекурсивный список подкаталогов.

2. Лучше всего было бы прочитать исходный код ls .

3. Для вашего школьного проекта я бы предположил, что если бы у вас был какой-то многоколоночный вывод, все было бы в порядке. Не уверен, почему вам нужно точно соответствовать интервалу. Но если вы посмотрите внимательно, вы увидите, что ls обеспечивает минимальную ширину столбца 12. Если вы используете printf , это будет формат %-12s .