Скажем, у меня есть входной поток, состоящий из строк, разделенных на определенное количество полей.Я хотел бы вырезать различные поля, передать определенное поле (или поля) в программу (которая, как предполагается, возвращает одну строку для каждой входной строки), оставить другие поля как есть и вставить результаты обратно вместе.Я, вероятно, могу представить себе запутанные решения, но должен быть чистый и естественный способ сделать это.
В качестве конкретного примера, скажем, у меня есть программа, производящая строки вида:
$ inputprog
<a> hello world!
<b> hi everyone!
<a> hi!
Скажите, что я хотел бы поместить сообщение в верхний регистр, оставив первое поле без изменений.Вот как я мог бы представить себе вещи:
$ inputprog | program -d' ' -f2- "tr a-z A-Z"
<a> HELLO WORLD!
<b> HI EVERYONE!
<a> HI!
Я ищу достаточно чистый способ приблизиться к program
.(Меня не интересуют решения, характерные для этого примера.)
Заранее благодарен за помощь!