sqlite/tool/replace.tcl
mistachkin 946ef60ad0 Fix typo in the MSVC makefile. Replace remaining uses of AWK in the MSVC makefile with a Tcl script.
FossilOrigin-Name: f8c2193b64979a2fe480fcf913573b5fac06235e
2015-10-10 01:55:57 +00:00

21 lines
557 B
Tcl

#!/usr/bin/tcl
#
# Replace string with another string -OR- include
# only lines successfully modified with a regular
# expression.
#
set mode [string tolower [lindex $argv 0]]
set from [lindex $argv 1]
set to [lindex $argv 2]
if {$mode ni [list exact include]} {exit 1}
if {[string length $from]==0} {exit 2}
while {![eof stdin]} {
set line [gets stdin]
if {[eof stdin]} break
switch -exact $mode {
exact {set line [string map [list $from $to] $line]}
include {if {[regsub -all -- $from $line $to line]==0} continue}
}
puts stdout $line
}