このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/php/1168450843/661
#  正規表現での重複行の削除について 
#  質問させてください 
#   
#  みかん   みかん 
#  みかん   (空白行) 
#  りんご → りんご 
#  なし    なし 
#  なし    (空白行) 
#  なし    (空白行) 
#  かき    かき 
#   
#  というかんじで 
#  重複行は空白のままで残したいのですが 
#  どうすべきでしょうか? 
# 
# 

重複行を削除するのではなく空白行として残す(Lines,Lines2) :-
        findall(_行2,(
                    append(L0,[_行|R],Lines),
                    append(_,[_行|_],L0),
                    重複行場合だけ空行を返す(L0,_行,_行2)),
                Lines2).

重複行場合だけ空行を返す(L0,_行,'') :-
        append(_,[_行|_],L0),!.
重複行場合だけ空行を返す(_,_行,_行).