ex
Hãy thử sử dụng trình chỉnh sửa Ex (một phần của Vim):
$ ex +'bufdo!%s/\s\+$//e' -cxa **/*.*
Lưu ý: Đối với đệ quy (bash4 & zsh), chúng tôi sử dụng một tùy chọn hình cầu mới ( **/*.*
). Bật bởi shopt -s globstar
.
Bạn có thể thêm chức năng sau vào .bash_profile
:
# Strip trailing whitespaces.
# Usage: trim *.*
# See: https://stackoverflow.com/q/10711051/55075
trim() {
ex +'bufdo!%s/\s\+$//e' -cxa $*
}
sed
Để sử dụng sed
, hãy kiểm tra: Làm thế nào để loại bỏ khoảng trắng ở cuối với sed?
find
Tìm tập lệnh sau (ví dụ remove_trail_spaces.sh
) để xóa khoảng trắng ở cuối khỏi tệp:
#!/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
Chạy tập lệnh này từ thư mục mà bạn muốn quét. Trên OSX ở phần cuối, nó sẽ xóa tất cả các tệp có đuôi .bak
.
Hoặc chỉ:
find . -type f -name "*.java" -exec perl -p -i -e "s/[ \t]$//g" {} \;
đó là cách được đề xuất bởi Spring Framework Code Style .