Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Dateien finden und umbennen?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum
View previous topic :: View next topic  
Author Message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Fri Dec 27, 2013 2:35 pm    Post subject: Dateien finden und umbennen? Reply with quote

Hallo Zusammen,

Ich habe ein kleines Problem mit dem Umbenennen von Dateien.

Ich habe ein Verzeichnis mit Unterverzeichnissen, in dem Dateien sind, die mit einen Tilde enden, z.b. so.

12foo.abc~
15foo.abc~
xyz12.cba~


Ich suche nun eine Möglichkeit, in einem Rusch, die Dateien zu finden, und das Tilde am ende zu entfernen.


Leider aber fehlt mir gerade der Ansatz, aber vlt. hat ja Jemand eine Idee? :wink:
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5165

PostPosted: Fri Dec 27, 2013 3:41 pm    Post subject: Reply with quote

so stichwörter:
- find
- for loop
- sed

daraus habe ich das gemacht, ist bestimmt nicht die beste variante:

Code:
 for x in $(find -type f -iname "*~"); do mv $x $(echo $x | sed 's/~//g'); done

_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
Finswimmer
Bodhisattva
Bodhisattva


Joined: 02 Sep 2004
Posts: 5467
Location: Langen (Hessen), Germany

PostPosted: Fri Dec 27, 2013 3:46 pm    Post subject: Reply with quote

Code:
for i in "$(find|grep \~$)" ; do temp=$(echo "$i" | sed s'#\~##'g );  mv "$i" "$temp"; done


Verdammt. Zu langsam ;)
Dafür berücksichtigt meine Variante Leerzeichen im Dateinamen: Man muss alle Variablen in " " setzen.

Viele Grüße
Tobi
_________________
Bitte auf Rechtschreibung, korrekte Formatierung und Höflichkeit achten!
Danke
Back to top
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Fri Dec 27, 2013 4:24 pm    Post subject: Reply with quote

THX erstmal!! :lol:

Leider gibt es da ein kleines Problem:

Die Lösung von firefly funktioniert, leider aber nicht mit Verzeichnissen und Files mit Leerzeichen.


Die Lösung von Finswimmer geht leider überhaut nicht: :(

Code:
serv03 Old School # for i in "$(find|grep \~$)" ; do temp=$(echo "$i" | sed s'#\~##'g );  mv "$i" "$temp"; done
mv: der Aufruf von stat für „./cover/oldschool_back.jpg~\n./cover/oldschool_front.jpg~\n./Bikes_01_1080p.mp4~\n./Bikes_02_1080p.mp4~\n./Bikes_03_1080p.mp4~\n./Bikes_04_1080p.mp4~\n./Bikes_05_1080p.mp4~\n./iak-old.school.nfo~“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
serv03 Old School # serv03 Old School # for i in "$(find|grep \~$)" ; do temp=$(echo "$i" | sed s'#\~##'g );  mv "$i" "$temp"; done
mv: der Aufruf von stat für „./cover/oldschool_back.jpg~\n./cover/oldschool_front.jpg~\n./Bikes_01_1080p.mp4~\n./Bikes_02_1080p.mp4~\n./Bikes_03_1080p.mp4~\n./Bikes_04_1080p.mp4~\n./Bikes_05_1080p.mp4~\n./iak-old.school.nfo~“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden
serv03 Old School # 
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5165

PostPosted: Fri Dec 27, 2013 4:26 pm    Post subject: Reply with quote

Finswimmer wrote:
Code:
for i in "$(find|grep \~$)" ; do temp=$(echo "$i" | sed s'#\~##'g );  mv "$i" "$temp"; done


Verdammt. Zu langsam ;)
Dafür berücksichtigt meine Variante Leerzeichen im Dateinamen: Man muss alle Variablen in " " setzen.

Viele Grüße
Tobi

funktioniert so auch nicht mit den leerzeichen. Zu mindestens nicht mit der bash, da die for loop standardmäßig den eingabe string anhand von whitespaces trennt.
Entweder man setzt die IFS variable temporär auf nur new lines oder verwendet eine while loop mit read:
Code:
find -type f -iname "*~" | while read line; do temp=$(echo $line | sed 's/~//g'); mv "${line}" "$temp"; done

_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
firefly
Watchman
Watchman


Joined: 31 Oct 2002
Posts: 5165

PostPosted: Fri Dec 27, 2013 4:29 pm    Post subject: Reply with quote

3PO wrote:
THX erstmal!! :lol:

Leider gibt es da ein kleines Problem:

Die Lösung von firefly funktioniert, leider aber nicht mit Verzeichnissen und Files mit Leerzeichen.

Ist korrigiert siehe meinen post vor diesem
_________________
Ein Ring, sie zu knechten, sie alle zu finden,
Ins Dunkel zu treiben und ewig zu binden
Im Lande Mordor, wo die Schatten drohn.
Back to top
View user's profile Send private message
3PO
Veteran
Veteran


Joined: 26 Nov 2006
Posts: 1110
Location: Schwabenländle

PostPosted: Fri Dec 27, 2013 4:49 pm    Post subject: Reply with quote

firefly wrote:
Ist korrigiert siehe meinen post vor diesem

Vielen Dank nochmals! :D

Hat funktioniert! :wink:

Das hat mir einige Stunden Arbeit erspart.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Deutsches Forum (German) Diskussionsforum All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum