ご無沙汰しています。
リラの花の美しさをはじめて知ったり、見知らぬ街の春は
新たな発見があります。
先日、ご教示いただいたunique.tclの改良点。なるほど
と関心しながら、理解しました。ありがとうございます。
その後、必要があって次のようなプロシージャを作って
作業をしています。Tclっていろいろできるのですね。
proc insert {filename colum filename2} {
set fd [open $filename]
fconfigure $fd -encoding unicode
set data [read $fd 1]
if [string equal $data \ufeff] {
set data [read $fd]
} else {
append data [read $fd]
}
close $fd
set fd [open $filename2]
fconfigure $fd -encoding unicode
set data2 [read $fd 1]
if [string equal $data2 \ufeff] {
set data2 [read $fd]
} else {
append data2 [read $fd]
}
close $fd
set data3 [lsearch -all -regexp -inline \
[split $data \n] .+]
set data4 [lsearch -all -regexp -inline \
[split $data2 \n] .+]
set data5 {}
foreach i $data3 j $data4 {
lappend data5 [linsert $i $colum $j]
}
set data6 [join $data5 \n]
}
ただこの間、いろいろ試行錯誤していた気付いた点ですが、
proc unicodeout {text filename} {
set fd [open $filename w]
fconfigure $fd -encoding unicode
puts $fd \ufeff$text
close $fd
}
でファイル出力するためには、たとえば先のinsert.tclの最
後は puts [join $data5 \n] ではだめで、
set data6 [join $data5 \n]でなければダメなのですね。
分かっていく、ということは幾つになっても、楽しいことです。
みずは