23 lines
683 B
Bash
23 lines
683 B
Bash
#!/bin/bash
|
|
|
|
BASE_DIR="."
|
|
|
|
find "$BASE_DIR" -depth | while IFS= read -r path; do
|
|
current_name=$(basename "$path")
|
|
parent_dir=$(dirname "$path")
|
|
|
|
# Loại bỏ ký tự đặc biệt: # ! ' [ ] @ bằng tr + tr -d
|
|
new_name=$(echo "$current_name" | tr -d "#!'\[\]@")
|
|
|
|
# Loại bỏ khoảng trắng thừa (chỉ giữ 1 dấu cách, loại bỏ cuối)
|
|
new_name=$(echo "$new_name" | tr -s ' ' | sed 's/ *$//')
|
|
|
|
# Nếu tên thay đổi thì đổi tên
|
|
if [[ "$current_name" != "$new_name" ]]; then
|
|
mv -- "$path" "$parent_dir/$new_name"
|
|
echo "Đã đổi tên: '$path' → '$parent_dir/$new_name'"
|
|
fi
|
|
done
|
|
|
|
echo "✅ Hoàn thành."
|