So geht es statisch:
Code:
# ersetzt include in Datei-00 und schreibe nach file.out
sed "s/^#include Datei-01/`cat Datei-01`/" Datei-00 > file.out
dynamisch ist es etwas schwieriger
Code:
$ echo "Bla
#include \"test.in\"
BlaBla
" > file.in
So sollte es gehen, doch \1 wird nicht ersetzt:
Code:
$ sed "s/^#include \"\(.*\)\"/$(cat \\1)/" file.in
Code:
$ sed "s/^#include \"\(.*\)\"/cat \\1/" file.in
Bla
cat test.in
BlaBla
Code:
$ sed "s/^#include \"\(.*\)\"/$(date)/" file.in
Bla
Tue May 24 23:32:11 CEST 2011
BlaBla
Lesezeichen