ex
Ex düzenleyiciyi kullanmayı deneyin (Vim'in bir parçası):
$ ex +'bufdo!%s/\s\+$//e' -cxa **/*.*
Not: Özyineleme (bash4 & zsh) için, yeni bir globbing seçeneği ( **/*.*) kullanıyoruz. Tarafından etkinleştirin shopt -s globstar.
Aşağıdaki işlevi şuraya ekleyebilirsiniz .bash_profile:
# Strip trailing whitespaces.
# Usage: trim *.*
# See: https://stackoverflow.com/q/10711051/55075
trim() {
ex +'bufdo!%s/\s\+$//e' -cxa $*
}
sed
Kullanmak için sedkontrol edin: Sondaki beyaz boşluklar sed ile nasıl kaldırılır?
find
remove_trail_spaces.shDosyalardan sondaki beyaz boşlukları kaldırmak için aşağıdaki komut dosyasını (örneğin ) bulun :
#!/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
Bu komut dosyasını taramak istediğiniz dizinden çalıştırın. OSX'te sonunda, ile biten tüm dosyaları kaldıracaktır .bak.
Ya da sadece:
find . -type f -name "*.java" -exec perl -p -i -e "s/[ \t]$//g" {} \;
Spring Framework Kod Stili tarafından önerilen yöntemdir .