Heiko Schlittermann <hs@schlittermann.de> (Do 15 Dez 2016 07:53:25 CET): … > > > find . -type f | while read file; do > > > echo $file | sed s/$/$i.mpg/g > > > (( i = i + 1 )) > > > done > > > Das hat's gebracht, danke ! > > find mit "while read file" kannte ich nicht, das ist eine einfache Lösung. > > Aber auch die oben skizzierte Lösung wird versagen, wenn Zeilenumbrüche > im File- oder Verzeichnisnamen sind, oder wenn der Filename hinten dran > Leerzeichen hat. Das wird(!) passieren. > > #!/bin/bash > find "${@-.}" -type f -print0 | while read -d $'\0; do > echo "<<$REPLY>>" > done Den sed brauchen wir doch gar nicht, oder? #!/bin/bash find "${@-.}" -type f -print0 | while read -d $'\0; do mv "$REPLY" "$REPLY.$((++i)).mpg" done Best regards from Dresden/Germany Viele Grüße aus Dresden Heiko Schlittermann -- SCHLITTERMANN.de ---------------------------- internet & unix support - Heiko Schlittermann, Dipl.-Ing. (TU) - {fon,fax}: +49.351.802998{1,3} - gnupg encrypted messages are welcome --------------- key ID: F69376CE - ! key id 7CBF764A and 972EAC9F are revoked since 2015-01 ------------ -
Attachment:
signature.asc
Description: Digital signature