Portál AbcLinuxu, 10. května 2025 03:14
for i in `ls ./` do neco s $i doneale problem je ze kdyz je v nazvu souboru mezera tak to dosazuje za i casti nazvu misto celoho jmena. Da se to nejak vyresit?
Buď for i in *; do ...
nebo find
a omezit hloubku prohledávání a použít parametr -exec neco s {} \;
$ find . -maxdepth 1 -mindepth 1 | xargs -I '{}' mv '{}' '{}'.jpg
rename 's/[jJ][pP][gG]$/jpg/' *
find . -maxdepth 1 | sed 's_ _\\ _g' | ls -la
for file in *\ *; do mv "$file" "${file// /_}" donezmenil mezery za _ , ale kdyby mel nekdo reseni jak to udelat bez toho pjmenovani , tak sem s nim.
for i in *.[Jj][Pp][Gg]; do NAME=${i%.*}.jpg mv "$i" "$NAME" doneTento script funguje. Treba požívať správne znaky ""
for i in *; do echo mv \"$i\" \"${i%.*}.jpg\"; # mv "$i" "${i%.*}.jpg"; done
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.