Zurück   CC-Community Board > CC-CB Hauptforen > Alternative OS > Linux

Antwort
 
Themen-Optionen Thema durchsuchen Ansicht
Alt 21.12.2010, 13:51   #1
mailfire
Oldie
 
Benutzerbild von mailfire
 
Registriert seit: 09.05.2001
Ort: do you know Beer?
Beiträge: 561
Standard find und umbenennen von dirs

Hallo zusammen,

ich kriegst einfach nicht hin, vielleicht kann mir jemand helfen.

Ich will alle Verzeichnisse die mit test_ anfangen das Wort test entfernen.

Mein Anzatz(einer von vielen) wäre folgender gewesen:
find . -type d -name "test*" -exec mv {} {sed s/test_//g} \;

Aber er ist mit meinem Target noch nicht zufrieden:
mv: target `s/test_//g}' is not a directory

Habt Ihr ne Idee(google mag mich heute nicht)?
mailfire ist offline   Mit Zitat antworten
Alt 21.12.2010, 14:20   #2
DetLife
Patriarch
 
Registriert seit: 02.05.2001
Beiträge: 6.153
Standard AW: find und umbenennen von dirs

sed erwartet seine Eingaben auf stdin, deshalb solltest Du eher mit Shell-Substitutions arbeiten:

Code:
find . -type d -name test_\* -exec sh -c 'mv "$0" "${0/test_/}"' {} \;
Den * hinter -name darf die Shell nicht sehen, den mußt Du escapen, weil find(1) ihn selbst auswertet.

Ggf. solltest Du vor mv noch ein echo einfügen, damit Du vorher siehst, was er in Deinem Fall auszuführen gedenkt.
DetLife ist offline   Mit Zitat antworten
Alt 21.12.2010, 14:49   #3
mailfire
Oldie
 
Benutzerbild von mailfire
 
Registriert seit: 09.05.2001
Ort: do you know Beer?
Beiträge: 561
Standard AW: find und umbenennen von dirs

cool, danke funktioniert!

Man ist das lange her bei mir, so schnell vergisst man das *schäm*.
mailfire ist offline   Mit Zitat antworten
Alt 21.12.2010, 14:50   #4
Brian
Ehemals Username
 
Benutzerbild von Brian
 
Registriert seit: 13.06.2002
Beiträge: 1.357
Standard AW: find und umbenennen von dirs

Ich würde ja rename benutzen:
Zitat:
find . -type d -name 'test_*' -exec rename test_ "" {} \;
Brian ist offline   Mit Zitat antworten
Antwort

Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist An.
Smileys sind An.
[IMG] Code ist An.
HTML-Code ist Aus.


Alle Zeitangaben in WEZ +1. Es ist jetzt 04:25 Uhr.


vBulletin® Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.