Verwenden von Terminal zum Umbenennen bestimmter nummerierter Dateien

Verwenden von Terminal zum Umbenennen bestimmter nummerierter Dateien

Ich habe eine Reihe von Dateien mit den Nummern 1-20 und Terminal sortiert sie folgendermaßen:

episode1.txt
episode10.txt
episode11.txt
episode12.txt

Ich möchte die Dateien 1-9 umbenennen, indem ich vor der Nummer eine 0 einfüge. Mein Code ist folgender:

for file in episode{1-9}.txt
do
   rename -vs "episode"* "episode0"*
done

Ich habe auch den Befehl „mv“ ausprobiert, aber er funktioniert nicht. Hat jemand Vorschläge? Vielen Dank im Voraus

Antwort1

Um eine Sequenz aufzuzählen, verwenden Sie {x..y}anstelle von {x-y}.

Da alle Ihre Dateien einen sehr ähnlichen Namen haben, können wir die Parametererweiterung verwenden, um das Präfix abzuschneiden episodeund durch zu ersetzen episode0.

Der vollständige Befehl sieht folgendermaßen aus:

for file in episode{1..9}.txt
do
    mv "$file" "episode0${file#episode}"
done

${file#episode}ist eine Parametererweiterung, die in diesem Fall den Parameter erweitert fileund gleichzeitig das kürzeste passende Präfixmuster entfernt episode.

verwandte Informationen