特定の数のフィールドに分割された行で構成される入力ストリームがあるとします。さまざまなフィールドをカットし、特定のフィールド (またはフィールド) をプログラム (入力行ごとに 1 行を返すと想定) にパイプし、他のフィールドをそのままにして、結果を貼り付けたいと思います。おそらく複雑な解決策を想像することはできますが、それを行うためのクリーンで自然な方法があるはずです。
具体的な例として、次の形式の行を生成するプログラムがあるとします。
$ 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
。(この例に固有のソリューションには興味がありません。)
よろしくお願いします。