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 20:03 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 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131