summaryrefslogtreecommitdiffstats
path: root/bin/quoted-strings
diff options
context:
space:
mode:
Diffstat (limited to 'bin/quoted-strings')
-rwxr-xr-xbin/quoted-strings15
1 files changed, 15 insertions, 0 deletions
diff --git a/bin/quoted-strings b/bin/quoted-strings
new file mode 100755
index 00000000..e6403910
--- /dev/null
+++ b/bin/quoted-strings
@@ -0,0 +1,15 @@
+#! /bin/sh
+# quoted_strings : lines string |> lines string
+# Extract all (double-) quoted strings from stdin.
+#
+# 0. find begin of string or skip line
+# 1. find end of string or skip line
+# 2. print string and continue after string
+set -euf
+
+sed '
+ s:[^"]*":: ;t1;d
+ :1; s:\(\([^"]\|\\"\)*\)":\1\n: ;t2;d
+ :2; P;D
+' \
+ | sed 's:\\":":g'