Portál AbcLinuxu, 4. května 2025 17:29
#!/bin/bash function strip_diak { echo "$1" | tr 'ěščřž ..' 'escrz_..' } function diak { new_name="$( strip_diak "$1" )" mv -f "$1" "$new_name" || return 1 cd "$new_name" || return 1 for fajl in *; do if [[ -d "$fajl" ]]; then diak "$fajl" else new_name="$( strip_diak "$fajl" )" if [[ "$new_name" != "$fajl" ]]; then mv -f "$fajl" "$new_name" || echo "mv error" && return 1 fi fi done return 0 } diak "${1:-$PWD}" || exit 1 exit 0
echo "$1" | tr 'ěščřž ..' 'escrz_..'zapsat, ze chci prelozit patricne unikodove znaky jako jsou äåöõü atd.
find -print
nedokaze korektne vyporadat s whitespaces v nazvech souboru - nebylo by lepsi pouzit find -print0 | xargs --null
?
Tak jak tak: diky za prispevek, podle me je cennejsi komplet zdrbnout tvuj kod a vymyslet lepsi, nez mlcet a nechat vsechny, at znovu vynalezaji kolo! B-)
-f
je špatné, špatné, špatné ...
... mamííí, ploč ťam má ťeň páň -f
míšto -i
?
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.