このディレクトリの索引
http://toro.2ch.net/test/read.cgi/tech/1323566370/671
#  sedです 
#   
#  foo 
#  bar 
#  *piyo 
#  *hoge 
#  *zieg 
#  kero 
#  piyo 
#  のような文章があるとして、先頭にアスタリスクがついている部分を別記号で囲みたいです。 
#  foo 
#  bar 
#  [ 
#  *piyo 
#  *hoge 
#  *zieg 
#  ] 
#  kero 
#  piyo 
#   
#  sedのスクリプトファイルで書いているのですが複数行にまたがるマッチングをこなしてくれません 
#  どうか御教示願います。 
# 
# 

'先頭にアスタリスクがついている部分を別記号で囲みたい'(_文字列,_置換された文字列) :-
        'リスト要素の先頭にアスタリスクがついている部分を別記号で囲みたい'(L,L5).
        append(L5,['\n'],L6),
        concat_atom(L5,'\n',_置換された文字列_0),
        concat_atom([_置換された文字列_0,'\n'],_置換された文字列),!.
'先頭にアスタリスクがついている部分を別記号で囲みたい'(_文字列,_文字列).

'リスト要素の先頭にアスタリスクがついている部分を別記号で囲みたい'(L,X) :-
        append(L1,L2,L3,L),
        '先頭にアスタリスクがついている部分'(L1,L2,L3),
        'リスト要素の先頭にアスタリスクがついている部分を別記号で囲みたい'(L3,L4),
        append(L1,['[\n'|L2],[']\n'|L4],X),!.
'リスト要素の先頭にアスタリスクがついている部分を別記号で囲みたい'(L,L).


'先頭にアスタリスクがついている部分'(L1,L2,L3) :-
        \+((last(L1,A),sub_atom(A,0,1,_,'*'))),
        \+((L3 = [B|_],sub_atom(B,0,1,_,'*'))),
        '全ての要素の先頭文字が*'(L2).

'全ての要素の先頭文字が*'([]).
'全ての要素の先頭文字が*'([A|R]) :-
        sub_atom(A,0,1,_,'*'),
        '全ての要素の先頭文字が*'(R).