Index: third_party/sqlite/sqlite-src-3170000/tool/replace.tcl |
diff --git a/third_party/sqlite/sqlite-src-3170000/tool/replace.tcl b/third_party/sqlite/sqlite-src-3170000/tool/replace.tcl |
new file mode 100644 |
index 0000000000000000000000000000000000000000..5a1ac5983c44c9233aa7e954121d7e38f6f30f29 |
--- /dev/null |
+++ b/third_party/sqlite/sqlite-src-3170000/tool/replace.tcl |
@@ -0,0 +1,23 @@ |
+#!/usr/bin/tcl |
+# |
+# Replace string with another string -OR- include |
+# only lines successfully modified with a regular |
+# expression. |
+# |
+fconfigure stdout -translation binary -encoding binary |
+fconfigure stderr -translation binary -encoding binary |
+set mode [string tolower [lindex $argv 0]] |
+set from [lindex $argv 1] |
+set to [lindex $argv 2] |
+if {$mode ni [list exact regsub 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]} |
+ regsub {regsub -all -- $from $line $to line} |
+ include {if {[regsub -all -- $from $line $to line]==0} continue} |
+ } |
+ puts stdout $line |
+} |