Каждый -
- это «имя» входного файла, указывающее, что следует использовать стандартный ввод.Таким образом, он производит четыре столбца вывода, каждый из которых, в свою очередь, читает одну строку ввода.Сравните 4 черточки
$ printf 'a\nb\nc\nd\n' | paste - - - -
a b c d
с тем же входным сигналом, но только с двумя черточками:
$ printf 'a\nb\nc\nd\n' | paste - -
a b
c d
Обратите внимание, что сама оболочка не участвует в том, как обрабатывается -
;paste
интерпретирует -
как обозначение стандартного ввода (хотя это соглашение одобрено стандартом POSIX).