Skip to content

Instantly share code, notes, and snippets.

@reagent
Last active August 15, 2019 03:27
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save reagent/e1f8b4ccaaa659b4ae76 to your computer and use it in GitHub Desktop.
Save reagent/e1f8b4ccaaa659b4ae76 to your computer and use it in GitHub Desktop.
Convert whitespace from tabs to 2 spaces
#!/bin/bash
set -e # fail on nonzero status
cd $1
files=`find . \
-not \( -path ./vendor -prune \) \
-not \( -path ./tmp -prune \) \
-name '*.html' -o -name '*.js' -o -name '*.coffee' -o \
-name '*.sass' -o -name '*.scss' -o -name '*.erb' \
-type f`
# Handle whitespace in filenames
# http://en.wikipedia.org/wiki/Internal_field_separator
IFS=$'\n'
for file in $files; do
echo -n "Converting '$file' ... "
expand -t2 "$file" > out.tmp
mv out.tmp "$file"
echo 'done.'
done
@efatsi
Copy link

efatsi commented Aug 20, 2014

rm out.tmp at the end perhaps?

@reagent
Copy link
Author

reagent commented Aug 20, 2014

mv will remove it

@nhunzaker
Copy link

Worth adding -not \( -path ./node_modules -prune \) \

@tommymarshall
Copy link

☝️ what he said.

@reagent
Copy link
Author

reagent commented Sep 5, 2014

got it -- rm -rf ./node_modules

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment