cshスクリプト内での”ヒアドキュメント”とパイプライン
cshスクリプト内で、
1)比較的大量の入力を必要とするコマンドcommand1
2)command1の出力をawkにかけて整形する
ことをしたいのです。ここで、条件として、一時ファイルを作らないという制約があります。
ここで、ヒアドキュメントというのでしょうか?
command1 <<EOF
very very long text
very very long text
very very long text
very very long text
EOF
を用い、command1の入力とします。
そして、command1の標準出力をawkにかけたいのです。
そこで
#!/bin/csh
( command1<<EOF
very very long text
very very long text
very very long text
very very long text
EOF)| awk '............'
とかやってみましたが、うまくいきません。
command1 <<EOF | awk '....'
very very long text
very very long text
very very long text
EOF
もだめです。
別に、<<EOFにこだわるつもりはないのですが、cshスクリプト内で、かつ一時ファイルの作成をせずに、
このようなことをやる方法はあるでしょうか? 入出ストリームの切り替えとかでできそうな木もするのですが、できればそれはなしでお願いします。
なんでcshわざわざこんなことをやるんだ、一時ファイル作ればいいじゃん、という意見ごもっともですが、cshの理解のため、あえてやってみたいのです。
よろしくお願いいたします。
お礼
ありがとうございました。 あまりきれいではないですが、ここらへんがshプログラミングの限界なのでしょうね。 shやtcshのトークンの分解、""、''、``の置換過程、<>の構文解析など勉強していきたいと思います。