こんにちわ。Yさと申します。
もりきゅうさんの[TSruby:75]を参考に作ってみました。
■仕様
・ --^ で始まる行から --$ で終わる行までを取り出します。
・ --^ および --$ は行頭から始まっているとします(^^;)ちょち手抜き
■スクリプトその1
--^ cut0.awk
/^--\^\ +.+/, /^--\$$/{
if(match($0, /^--\^\ +.+/)){ file = $2; next; } # ソース開始
if(match($0, /^--\$$/)) next; # ソース終了
# print > file; # ソース途中
print file, $0;
}
--$
■スクリプトその2
--^ cut1.awk
/^--\^\ +.+/ { file=$2; st=1; next; } # st=1: ソース開始
/^--\$$/ && st==1{ st=0; next; } # st=0: ソース終了
{ if(st==1){ # st=1..: ソース途中
# print > file;
print file, $0;
} }
--$
■使い方
>gawk -f cut0.awk 切り出し元ファイル名[ENTER]
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
等として実行して下さい。
-----
# print > file;
-----
のコメントをはずすとファイルを作成します d(^_^)