Bash-Tipp: So änderst du Dateiendungen im Batch-Modus
Artikel vorlesen lassen
Wenn du mal eine ganze Reihe von Dateien hast, deren Endungen du ändern möchtest, kann das manuelle Umbenennen ganz schön mühsam werden. Zum Glück lässt sich das in der Shell super einfach und schnell erledigen – mit einem einzigen Befehl. Egal, ob es um .txt in .xlf, .csv in .json oder irgendeine andere Kombination geht, der Trick funktioniert für alle Dateiendungen.
Hier ein Beispiel, wie du alle .txt-Dateien in einem Verzeichnis in .xlf umbenennen kannst:
for file in *.txt; do mv "$file" "${file%.txt}.xlf"; done Was passiert hier genau?
- for file in *.txt: Dieser Teil des Befehls durchsucht das aktuelle Verzeichnis nach allen Dateien, die mit .txt enden. Du kannst .txt natürlich durch jede beliebige Endung ersetzen.
- mv "$file" "${file%.txt}.xlf": Der Befehl mv übernimmt das Umbenennen. ${file%.txt} entfernt die alte Endung, und .xlf wird hinzugefügt. Auch hier sind .txt und .xlf nur Platzhalter für die Endungen, die du ändern möchtest.
Falls du dir erst mal anschauen möchtest, welche Dateien betroffen sind, kannst du das Ganze auch testen, ohne die Dateien gleich umzubenennen. Verwende dafür einfach diesen Befehl:
for file in *.txt; do echo mv "$file" "${file%.txt}.xlf"; done Das listet dir alle Änderungen auf, ohne sie tatsächlich durchzuführen. So kannst du sicherstellen, dass alles passt, bevor du den Befehl richtig ausführst.
Dieser einfache Shell-Trick spart dir eine Menge Zeit und macht das Bearbeiten von vielen Dateien auf einmal richtig effizient.
BackDu hast eine Frage oder willst das Thema diskutieren?
Im Community Hub für TYPO3 kannst du dich mit anderen TYPO3 Anwendern austauschen. Und wenn du keine neuen Artikel verpassen willst: Der TYPO3 Newsletter kommt einmal im Monat, ohne Spam.