title: what does the dollar sign mean in the substitution line of bash command "rename"
body: <p>I was reading about rename and came across this example to change the file extension from htm to html:</p>
  
  <pre><code>rename -v 's/\.htm$/\.html/' *.htm
  </code></pre>
  
  <p>and it said: The <code>$</code> means the end of the string. <code>\.htm$</code> means that it will match <code>.htm</code> but not <code>.html</code>.</p>
  
  <p>I was a bit confused by the use of <code>$</code> here. Since we already specified <code>*.htm</code> at the end of command line, <code>rename</code> would only select out the htm files (instead of html). So why was it necessary to use the <code>$</code> still? In another words, what's wrong with no using <code>$</code>?</p>