title: Is there a better way to match while using `git filter-branch`?
body: <p>I have a problem similar to the one described in question <a href="https://stackoverflow.com/questions/750172/how-do-i-change-the-author-of-a-commit-in-git">How do I change the author of a commit in git?</a> and the solution I'm trying is using <code>git filter-branch</code> but it doesn't work because it won't match the string literal with spaces i.e. I need <code>contains</code>:</p>
  
  <pre><code>git filter-branch --commit-filter '
      if [ "$GIT_AUTHOR_NAME" = "giovanni azua" ];
      then
              GIT_COMMITTER_NAME="Giovanni Azua";
              GIT_COMMITTER_EMAIL="giovanni.azua@xxx.com";
              GIT_AUTHOR_NAME="Giovanni Azua";
              GIT_AUTHOR_EMAIL="giovanni.azua@xxx.com";
              git commit-tree "$@";
      else
              git commit-tree "$@";
      fi' HEAD
  </code></pre>
  
  <p>The equal sign will not work if there are spaces in between and I have no idea how to escape it. I have also tried escaping it like <code>giovanni\ azua</code> but doesn't work. I also could not find any reference to what this scripting is i.e. how do you do string <code>contains</code> or <code>substring</code> match? I always get the output <code>WARNING: Ref 'refs/heads/master' is unchanged</code>.</p>
  
  <p>UPDATE: It would also check my box to have a not <code>if [ "$GIT_AUTHOR_NAME" ~= "giovanni azua" ];</code> but the operator <code>~=</code> does not work.</p>