ex
Coba gunakan Ex editor (bagian dari Vim):
$ ex +'bufdo!%s/\s\+$//e' -cxa **/*.*
Catatan: Untuk rekursi (bash4 & zsh), kami menggunakan opsi globbing baru ( **/*.*
). Aktifkan oleh shopt -s globstar
.
Anda dapat menambahkan fungsi berikut ke dalam Anda .bash_profile
:
# Strip trailing whitespaces.
# Usage: trim *.*
# See: https://stackoverflow.com/q/10711051/55075
trim() {
ex +'bufdo!%s/\s\+$//e' -cxa $*
}
sed
Untuk menggunakan sed
, periksa: Bagaimana cara menghapus spasi putih tertinggal dengan sed?
find
Temukan skrip berikut (misalnya remove_trail_spaces.sh
) untuk menghapus spasi kosong dari file:
#!/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
Jalankan skrip ini dari direktori yang ingin Anda pindai. Di OSX pada akhirnya, itu akan menghapus semua file yang diakhiri dengan .bak
.
Atau hanya:
find . -type f -name "*.java" -exec perl -p -i -e "s/[ \t]$//g" {} \;
yang direkomendasikan oleh Spring Framework Code Style .