summaryrefslogtreecommitdiffstats
path: root/bin/quoted-strings
blob: e6403910100a81c78472b2fa649433b8507d4ac8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
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'