У меня есть несколько сценариев оболочки, которая работает с трубами, как например:чтения STDIN на куски в Баш трубе
foo.sh | bar.sh
Мои bar.sh
вызывает некоторую командную программу строки, которая может принимать только определенное количество строк стандартного ввода. Таким образом, я хочу, чтобы большой stdout foo.sh
был разбит на N количество строк, чтобы сделать несколько звонков bar.sh
. По существу, paginate foo.sh
's stdout и делать несколько bar.sh
.
Возможно ли это? Я надеюсь на магию между трубами, как foo.sh | ??? | bar.sh
. xargs -n
не совсем понял, чего я хочу.
'программа, которая может принимать только определенное количество строк stdin' Что вы хотите сделать с оставшимся' stdin' в трубе? отказаться от него? Если да, вы можете использовать команду ['head'] (http://www.unix.com/man-page/linux/1/head/). – anishsane
@anishsane Он хочет называть 'bar.sh' несколько раз партиями строк. – Barmar