Trojaner-Board

Trojaner-Board (https://www.trojaner-board.de/)
-   Alles rund um Mac OSX & Linux (https://www.trojaner-board.de/alles-rund-um-mac-osx-linux/)
-   -   Dateien rekursiv umbenennen (https://www.trojaner-board.de/97555-dateien-rekursiv-umbenennen.html)

cosinus 16.04.2011 14:04

Dateien rekursiv umbenennen
 
Moin,

folgender Fall: Ich hab viele Dateien mit einer doppelten Endung - sagen wir sowas in der Art: Dateiname.???.foo

Mit dem Befehl
Code:

rename 's/\.foo$//' *.foo
Kann ich allen Dateien auf einmal das .foo abschneiden, doppelte Endung also entfernt. Aber nur im aktuellen Verzeichnis!
Wie mach ich das in einem Befehl, der rekursiv alle Unterverzeichnisse durchgeht und auch da die Dateien umbenennt, sprich die Endung ".foo" abschneidet?

Jmd eine Idee?

Kaos 16.04.2011 14:43

For Befehle sollten bei Linux auch gehen :)

Hier ist ein Beispiel:
http://www.linux-club.de/viewtopic.php?f=21&t=99143

Du müsstest dann wahrscheinlich eine For-Schleife verwenden, die in jedem Ordner und Unterordner nach Dateien sucht und dort die Dateien dann mit deinem Befehl umbenennt.

cosinus 16.04.2011 14:57

Ja danke ich glaub ich hab es hiermit in der zwischenzeit geschafft :)

Code:

find ordner -name "*.foo" -exec rename 's/\.foo$//' {} \;

cosinus 18.04.2011 17:01

Mir fällt gerade auf, das $ bei ".foo" muss da garnicht sein. Es funktioniert auch so, statt "find ordner" kann man auch "find ." machen, um im aktuellen Verzeichnis die Dateien rekursiv durchzugehen...

Code:

find . -name "*.foo" -exec rename 's/\.foo//' {} \;
Praktisch auch, wenn man mal alle potentiell gefährlichen exe entschärfen will :D

Code:

find . -name "*.exe" -exec rename 's/\.exe/\.exe\.vir/' {} \;

Shadow 18.04.2011 17:08

OT
Zitat:

Zitat von cosinus (Beitrag 642143)
Praktisch auch, wenn man mal alle potentiell gefährlichen exe entschärfen will :D

Ob das System danach noch funktioniert spielt ja keine Rolle :rofl:

cosinus 18.04.2011 17:10

Zitat:

Zitat von Shadow (Beitrag 642146)
OT Ob das System danach noch funktioniert spielt ja keine Rolle :rofl:

Ich wende diesen Befehl auch im Windows-Ordner an :lach:
Aber selbst wenn, mein Ubuntu startet immer noch :zunge:


Alle Zeitangaben in WEZ +1. Es ist jetzt 01:14 Uhr.

Copyright ©2000-2025, Trojaner-Board


Search Engine Optimization by vBSEO ©2011, Crawlability, Inc.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19