check files with no extensions

This commit is contained in:
Emre AKYÜZ 2023-07-07 03:42:37 +03:00 committed by GitHub
parent fe6b9043b8
commit d08eea1cf5
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -13,22 +13,23 @@ find . -type d -path '*/.*' -prune -o -print0 | xargs -0 -n1 -P10 -I{} sh -c '
echo "$new_name"
}
process_item() {
item_path="$1"; [ "$item_path" = "." ] && return
item_path="$1";
[ "$item_path" = "." ] && return
dir_name=$(dirname "$item_path"); base_name=$(basename "$item_path")
if [ -d "$item_path" ]; then
[ -d "$item_path" ] && {
new_name=$(echo "$base_name" | sed -E "s/[^a-zA-Z0-9 _.-]+//g; s/[ .-]+/_/g; s/_+/_/g; s/^_//; s/_$//; s/(.*)/\L\1/")
[ -z "$new_name" ] && new_name="untitled"
else
} || {
file_ext="${base_name##*.}"
base_name_no_ext="${base_name%.*}"
new_base_name_no_ext=$(echo "$base_name_no_ext" | sed -E "s/[^a-zA-Z0-9 _.-]+//g; s/[ .-]+/_/g; s/_+/_/g; s/^_//; s/_$//; s/(.*)/\L\1/")
[ -z "$new_base_name_no_ext" ] && new_base_name_no_ext="untitled"
new_name="${new_base_name_no_ext}.${file_ext}"
fi
if [ "$base_name" != "$new_name" ]; then
[ -z "$file_ext" ] || [ "$file_ext" = "$base_name_no_ext" ] && new_name="$new_base_name_no_ext" || new_name="${new_base_name_no_ext}.${file_ext}"
}
[ "$base_name" != "$new_name" ] && {
[ -e "${dir_name}/${new_name}" ] && new_name=$(generate_unique_name "${new_name%.*}" "${new_name##*.}" "$dir_name")
mv "$item_path" "${dir_name}/${new_name}" 2>/dev/null || true
fi
}
}
process_item "{}"
' 2>/dev/null