Bash-Skript: alle Dateien unterhalb eines Verzeichnisses umbenennen?

Hier ist, was ich in Pseudocode tun möchte:

for subdir in [all first-level subdirectories of the current directory]:
    for file in [all files in subdir]:
        rename file to "myprefix_" + current_filename_padded_with_zeroes

Was ich mit current_filename_padded_with_zeroes meine, ist z. B. wenn der aktuelle Dateiname 01.png ist, ändern Sie es in 0001.png, oder 100.png ändern Sie es in 0100.png.

Kann jemand mir helfen, die oben in ein Bash-Skript zu übersetzen?

etwas wie... Ich bin mir nicht sicher, wie ich den Teil mit dem Umbenennen machen soll:

#!/bin/bash
for DIR in $(ls) 
do
    for FILENAME in $(ls $DIR)
        do
        mv "$FILENAME" "myprefix_{%FILENAME}"   
        done
done

OriginalAutor Richard | 2011-11-09

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.