ex
Intenta usar Ex editor (parte de Vim):
$ ex +'bufdo!%s/\s\+$//e' -cxa **/*.*
Nota: Para la recursividad (bash4 y zsh), utilizamos una nueva opción de globalización ( **/*.*
). Habilitado shopt -s globstar
.
Puede agregar la siguiente función en su .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: ¿Cómo eliminar espacios en blanco al final con sed?
find
Busque el siguiente script (por ejemplo remove_trail_spaces.sh
) para eliminar espacios en blanco finales de los archivos:
#!/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
Ejecute este script desde el directorio que desea escanear. En OSX al final, eliminará todos los archivos que terminan en .bak
.
O solo:
find . -type f -name "*.java" -exec perl -p -i -e "s/[ \t]$//g" {} \;
que es recomendado por Spring Framework Code Style .