if 0 {[Richard Suchenwirth] 2003-10-23 - I needed this tiny code to do regular expression substitution in files "in place" - the alternative would have been to fumble with Perl :(. The code should be self-explanatory - maybe others can use this too. For use as a shell script, remove the space before #! in the first line and chmod +x. } #!/usr/bin/env tclsh proc fsub {re subst filename} { set fp [open $filename] set data [read $fp] close $fp set n [regsub -all $re $data $subst data] set fp [open $filename w] puts -nonewline $fp $data close $fp set n } # This allows to execute this file as a shell script: if {[file tail [info script]] eq [file tail $argv0]} { if {$argv == ""} { puts "usage: fsub re subst file... substitute the regular expression 're' with 'subst' in all specified files" } else { foreach {re subst} $argv break foreach file [lrange $argv 2 end] { set n [fsub $re $subst $file] puts "$file : $n" } } } ---- !!!!!! [Arts and crafts of Tcl-Tk programming] %| [Category Example] |% !!!!!!