title: How can I use sed to delete blank, unquoted lines?
body: <p>I'm looking for a <code>sed</code> script that will transform</p>
  
  <pre><code>;; DONE Badge
  ;; :PROPERTIES:
  ;; :ID:       D0C151F1-384E-4995-B091-1EC1FE265572
  ;; :END:
  ;; [[http://api.stackexchange.com/docs/types/badge][Official documentation]]
  
  ;; [[file:~/lunch/github/vermiculus/stack-api/stack-api.org::*Badge][Badge:1]]
  
  (defstruct stack-api/badge
    "This type represents a badge on a Stack Exchange `stack-api/site'.
  
  Some badges, like Autobiographer, are held in common across all
  Stack Exchange sites. Others, like most tag badges, vary on a
  site by site basis.
  
  Remember that ids are never guaranteed to be the same between
  sites, even if a badge exists on both sites."
  
    (award-count nil :type integer)
    (badge-id    nil :type integer) ; refers to a badge
    (badge-type  nil :type (memq 'named
                                 'tag-based))
    (description nil :type string) ; unchanged in unsafe filters
    (link        nil :type string) ; unchanged in unsafe filters
    (name        nil :type string)
    (rank        nil :type (memq 'gold
                                 'silver
                                 'bronze)
  
    (user        nil :type shallow-user))
  
  ;; Badge:1 ends here
  </code></pre>
  
  <p>into</p>
  
  <pre><code>;; DONE Badge
  ;; :PROPERTIES:
  ;; :ID:       D0C151F1-384E-4995-B091-1EC1FE265572
  ;; :END:
  ;; [[http://api.stackexchange.com/docs/types/badge][Official documentation]]
  ;; [[file:~/lunch/github/vermiculus/stack-api/stack-api.org::*Badge][Badge:1]]
  (defstruct stack-api/badge
    "This type represents a badge on a Stack Exchange `stack-api/site'.
  
  Some badges, like Autobiographer, are held in common across all
  Stack Exchange sites. Others, like most tag badges, vary on a
  site by site basis.
  
  Remember that ids are never guaranteed to be the same between
  sites, even if a badge exists on both sites."
    (award-count nil :type integer)
    (badge-id    nil :type integer) ; refers to a badge
    (badge-type  nil :type (memq 'named
                                 'tag-based))
    (description nil :type string) ; unchanged in unsafe filters
    (link        nil :type string) ; unchanged in unsafe filters
    (name        nil :type string)
    (rank        nil :type (memq 'gold
                                 'silver
                                 'bronze)
    (user        nil :type shallow-user))
  ;; Badge:1 ends here
  </code></pre>
  
  <p>Bonus points for removing all comments in the same go, but I could use a pipeline for that.  I mainly don't know how to test if the scanner is inside a string or not.</p>