title: Match any character (including newlines) in sed
body: <p>I have a sed command that I want to run on a huge, terrible, ugly HTML file that was created from a Microsoft Word document. All it should do is remove any instance of the string</p>
  
  <pre><code>style='text-align:center; color:blue;
  exampleStyle:exampleValue'
  </code></pre>
  
  <p>The sed command that I am trying to modify is</p>
  
  <pre><code>sed "s/ style='[^']*'//" fileA &gt; fileB
  </code></pre>
  
  <p>It works great, except that whenever there is a new line inside of the matching text, it doesn't match. Is there a modifier for sed, or something I can do to force matching of any character, including newlines?</p>
  
  <p>I understand that regexps are terrible at XML and HTML, blah blah blah, but in this case, the string patterns are well-formed in that the style attributes always start with a single quote and end with a single quote.  So if I could just solve the newline problem, I could cut down the size of the HTML by over 50% with just that one command.</p>
  
  <hr>
  
  <p>In the end, it turned out that Sinan Ünür's perl script worked best. It was almost instantaneous, and it reduced the file size from 2.3 MB to 850k. Good ol' Perl...</p>