removing -_
This commit is contained in:
@ -25,7 +25,7 @@
|
||||
# Extension filter:
|
||||
# - Default: mp4
|
||||
# - "*" : all files
|
||||
# - "jpg" : only .jpg (with or without leading dot accepted, e.g., "jpg" or ".jpg")
|
||||
# - "jpg" : only .jpg (with or without leading dot accepted, e.g. "jpg" or ".jpg")
|
||||
#
|
||||
# Logging:
|
||||
# RENAME: "old_name.ext" => "new_name.ext"
|
||||
@ -78,7 +78,8 @@ rename_file() {
|
||||
# Guard: identical path, nothing to do
|
||||
if [[ "$src" == "$dst" ]]; then
|
||||
if (( DRY_RUN )); then
|
||||
log "NOCHANGE (dry-run): \"$(basename "$src")\" (nothing to do)"
|
||||
# CHANGE: add `--` so basename doesn't treat dash-prefixed names as options
|
||||
log "NOCHANGE (dry-run): \"$(basename -- "$src")\" (nothing to do)"
|
||||
fi
|
||||
return 0
|
||||
fi
|
||||
@ -99,10 +100,12 @@ rename_file() {
|
||||
done
|
||||
|
||||
if (( DRY_RUN )); then
|
||||
log "RENAME: \"$(basename "$src")\" => \"$(basename "$candidate")\""
|
||||
# CHANGE: add `--` for safe logging
|
||||
log "RENAME: \"$(basename -- "$src")\" => \"$(basename -- "$candidate")\""
|
||||
else
|
||||
mv -v -- "$src" "$candidate" >/dev/null
|
||||
log "RENAME: \"$(basename "$src")\" => \"$(basename "$candidate")\""
|
||||
# CHANGE: add `--` for safe logging
|
||||
log "RENAME: \"$(basename -- "$src")\" => \"$(basename -- "$candidate")\""
|
||||
fi
|
||||
}
|
||||
|
||||
@ -182,7 +185,8 @@ strip_reserved() {
|
||||
local base ext token lw
|
||||
local -a parts new_parts=()
|
||||
|
||||
base="$(basename "$name")"
|
||||
# CHANGE: pass `--` to basename for dash-prefixed names
|
||||
base="$(basename -- "$name")"
|
||||
ext=""
|
||||
if [[ "$base" == *.* ]]; then
|
||||
ext=".${base##*.}"
|
||||
@ -243,15 +247,21 @@ fi
|
||||
for path in "$DIR"/$pattern; do
|
||||
[[ -f "$path" ]] || continue
|
||||
|
||||
orig_basename="$(basename "$path")"
|
||||
orig_basename="$(basename -- "$path")"
|
||||
|
||||
# 1) remove reserved tokens from basename
|
||||
stripped="$(strip_reserved "$orig_basename")"
|
||||
# NEW RULE (minimal): remove ALL leading dashes before processing
|
||||
clean_basename="$orig_basename"
|
||||
while [[ "$clean_basename" == -* ]]; do
|
||||
clean_basename="${clean_basename#-}"
|
||||
done
|
||||
|
||||
# 1) remove reserved tokens from basename (on the cleaned name)
|
||||
stripped="$(strip_reserved "$clean_basename")"
|
||||
|
||||
# 2 & 3) normalize (spaces -> "_", collapse "_", trim)
|
||||
new_name="$(normalize_name "$stripped")"
|
||||
|
||||
# NEW: If nothing changed, do not attempt to rename at all
|
||||
# If nothing changed, do not attempt to rename at all
|
||||
if [[ "$new_name" == "$orig_basename" ]]; then
|
||||
if (( DRY_RUN )); then
|
||||
log "NOCHANGE (dry-run): \"${orig_basename}\" (nothing to do)"
|
||||
|
||||
Reference in New Issue
Block a user