title: sed print more than one matches in a line
body: <p>I have a file, including some strings and variables, like:</p>
  
  <pre><code> ${cat.mouse.dog}
   bird://localhost:${xfire.port}/${plfservice.url}
   bird://localhost:${xfire.port}/${spkservice.synch.url}
   bird://localhost:${xfire.port}/${spkservice.asynch.request.url}
   ${soabp.protocol}://${hpc.reward113.host}:${hpc.reward113.port}
  ${configtool.store.folder}/config/hpctemplates.htb
  </code></pre>
  
  <p>I want to print all the strings between "{}". In some lines there are more than one such string and in this case they should remain in the same line. The output should be:</p>
  
  <pre><code>cat.mouse.dog
  xfire.port plfservice.url
  xfire.port spkservice.synch.url
  xfire.port spkservice.asynch.request.url
  soabp.protocol hpc.reward113.host hpc.reward113.port
  configtool.store.folder
  </code></pre>
  
  <p>I tried the following:</p>
  
  <pre><code>sed -n 's/.*{//;s/}.*//p' filename
  </code></pre>
  
  <p>but it printed only the last occurrence of each line. How can I get all the occurrences, remaining in the same line, as in the original file?</p>