summaryrefslogtreecommitdiffstats
path: root/bin/bre-invert-word
diff options
context:
space:
mode:
authortv <tv@krebsco.de>2015-05-21 01:56:08 +0200
committertv <tv@krebsco.de>2015-05-21 01:56:08 +0200
commit60e526dc9419d0bff89b05f4a98332aae48a0253 (patch)
tree484cb2c1075cdcabe8020ca40704f4d68f2b2fed /bin/bre-invert-word
parent6b976a36f5ef72d7463f848b55f250b807291bfd (diff)
sh: functions -> bin/
Diffstat (limited to 'bin/bre-invert-word')
-rwxr-xr-xbin/bre-invert-word15
1 files changed, 15 insertions, 0 deletions
diff --git a/bin/bre-invert-word b/bin/bre-invert-word
new file mode 100755
index 0000000..677ba2e
--- /dev/null
+++ b/bin/bre-invert-word
@@ -0,0 +1,15 @@
+#! /bin/sh
+# bre-invert-word : string -> BRE
+set -euf
+
+# TODO escape chars in the resulting BRE.
+awk -v input="$1" '
+ BEGIN {
+ split(input,s,"")
+ for (i in s) {
+ c=s[i]
+ printf "\\|%s[^%s]", y, c
+ y = y c
+ }
+ }
+'