summaryrefslogtreecommitdiffstats
path: root/scripts/cfg_edit.sh
diff options
context:
space:
mode:
Diffstat (limited to 'scripts/cfg_edit.sh')
-rwxr-xr-xscripts/cfg_edit.sh17
1 files changed, 17 insertions, 0 deletions
diff --git a/scripts/cfg_edit.sh b/scripts/cfg_edit.sh
new file mode 100755
index 0000000..99f00be
--- /dev/null
+++ b/scripts/cfg_edit.sh
@@ -0,0 +1,17 @@
+#!/bin/sh
+# Invoked from cfg_defs.sh as a filter
+# Strip leading and trailing whitespace
+# Escape any iternal '\'
+# Escape any iternal '"'
+# Entify any iternal '&', '<' or '>'
+# Append a '=' if none present'
+# Break into two strings at '='
+# Prefix ' { "' and suffix '" },'
+LC_ALL=C sort |
+sed -e 's!^[ ]*!!' -e 's![ ]*$!!' \
+ -e 's!\\!\\\\!g' \
+ -e 's!"!\\"!g' \
+ -e 's!&!\&amp;!g' -e 's!<!\&lt;!g' -e 's!>!\&gt;!g' \
+ -e 's!^[^=]*$!&=!' \
+ -e 's!=!", "!' \
+ -e 's!^! { "!' -e 's!$!" },!'