ex
Tente usar o editor Ex (parte do Vim):
$ ex +'bufdo!%s/\s\+$//e' -cxa **/*.*
Nota: Para recursão (bash4 e zsh), usamos uma nova opção de globbing ( **/*.*
). Ativar por shopt -s globstar
.
Você pode adicionar a seguinte função ao seu .bash_profile
:
# Strip trailing whitespaces.
# Usage: trim *.*
# See: https://stackoverflow.com/q/10711051/55075
trim() {
ex +'bufdo!%s/\s\+$//e' -cxa $*
}
sed
Para usar sed
, verifique: Como remover os espaços em branco à direita com o sed?
find
Localize o seguinte script (por exemplo remove_trail_spaces.sh
) para remover os espaços em branco finais dos arquivos:
#!/bin/sh
# Script to remove trailing whitespace of all files recursively
# See: /programming/149057/how-to-remove-trailing-whitespace-of-all-files-recursively
case "$OSTYPE" in
darwin*) # OSX 10.5 Leopard, which does not use GNU sed or xargs.
find . -type f -not -iwholename '*.git*' -print0 | xargs -0 sed -i .bak -E "s/[[:space:]]*$//"
find . -type f -name \*.bak -print0 | xargs -0 rm -v
;;
*)
find . -type f -not -iwholename '*.git*' -print0 | xargs -0 perl -pi -e 's/ +$//'
esac
Execute esse script no diretório que você deseja verificar. No OSX no final, ele removerá todos os arquivos que terminam com .bak
.
Ou apenas:
find . -type f -name "*.java" -exec perl -p -i -e "s/[ \t]$//g" {} \;
recomendado pelo Spring Framework Code Style .