title: How can I run recursive find and replace operations on multiple files in parallel?
body: <p>I am attempting to replace text data in a git repository using the git filter-branch functionality.</p>
  
  <p>I wrote a simple script to search for various terms and replace them. It was running extremely slow. I had multiple lines of BASH code executing to customize my search results and replacement operation. I know my code was not very efficient. I decided to go ahead and try just my first line which should be semi-efficient. It's still taking forever to walk through the code base.</p>
  
  <p><strong>Is it possible to use BASH or another simple approach to search through my files and executed Find &amp; Replace operations in parallel to speed things up?</strong> </p>
  
  <p>If not, are there any other suggestions on how to go about handling this better?</p>
  
  <p>Here's the Git command I'm executing:</p>
  
  <pre><code>git filter-branch --tree-filter "sh /home/kurtis/.bin/redact.sh || true" \
      -- --all
  </code></pre>
  
  <p>Here's the code my command is essentially executing:</p>
  
  <pre><code>find . -not -name "*.sql" -not -name "*.tsv" -not -name "*.class" \
      -type f -exec sed -i 's/01dPassw0rd\!/HIDDENPASSWORD/g' {} \;
  </code></pre>