昨日、データベース定義からフィールド名を抜き出しましたが、これを応用するには他のファイルに差し込む必要があります。
例えば、triggerやviewなどの定義で省略できないけど、たくさんのフィールドを間違いなく書く必要がある場合です。(そもそも、書かなくてすむ方法があればよいのですが…)
こんなときに役に立つのがsedのrコマンドです。
指定した行数のあとに指定したファイルを差し込んでくれます。
下記の例は、特に意味のあるものではありませんがmail.templateの前文と末文の間にファイルを差し込んでいます。
$ sqlplus -S scott/tiger@XE @empddl.sql | tail -n +3 | head -n -1 | awk '{if (NR != 1) print a","; a=$1 } END {print a}' > tmp.txt ksaito@oracle:~/tmp$ cat mail.template こんにちは さようなら $ sed -e '2r tmp.txt' mail.template こんにちは EMPNO, ENAME, JOB, MGR, HIREDATE, SAL, COMM, DEPTNO さようなら $