Добрый день.
Помогите разобраться как же работает комманда expand из coreutils. В официальном гайде (Core GNU utilities for version 8.28, 1 September 2017) сказанно: Заменяет все символы «tab» необходимым количеством пробелов, по умолчанию один символ «tab» заменяется восемью символами пробела (1tab=8spaces). И действительно все так: expand text.txt #заменит все табы 8-мью пробелами
Дальше, в этом же гайде сказано, что есть такой ключ --tabs, который (если --tabs=одно_число) позволяет установить на сколько пробелов заменить один символ tab. Действительно, если expand --tabs=1 text.txt #заменит все табы одним пробелом.
Непонятки начинаются дальше, когда --tabs=2 или --tabs=3 и.т.д:
[1@localhost ~]$ cat text.txt #пример1. Исходный файл с табами
9 plum
3 banana
1 apple
[1@localhost ~]$ expand --tabs=1 text.txt #пример2. Все ОК
9 plum
3 banana
1 apple
[1@localhost ~]$ expand --tabs=2 text.txt #пример3.Почему 1 пробел, ведь --tabs=2 ?
9 plum
3 banana
1 apple
[1@localhost ~]$ expand --tabs=3 text.txt #пример4. Почему 2 пробел, ведь --tabs=3 ?
9 plum
3 banana
1 apple
[1@localhost ~]$ expand --tabs=4 text.txt #пример5. здесь 3
9 plum
3 banana
1 apple
Как же он все-таки работает? Заранее спасибо.