|
|
#1 |
|
Oldie
Registriert seit: 09.05.2001
Ort: do you know Beer?
Beiträge: 561
|
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)? |
|
|
|
|
|
#2 |
|
Patriarch
Registriert seit: 02.05.2001
Beiträge: 6.153
|
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_/}"' {} \;
Ggf. solltest Du vor mv noch ein echo einfügen, damit Du vorher siehst, was er in Deinem Fall auszuführen gedenkt. |
|
|
|
|
|
#3 |
|
Oldie
Registriert seit: 09.05.2001
Ort: do you know Beer?
Beiträge: 561
|
cool, danke funktioniert!
Man ist das lange her bei mir, so schnell vergisst man das *schäm*. |
|
|
|
|
|
#4 | |
|
Ehemals Username
Registriert seit: 13.06.2002
Beiträge: 1.357
|
Ich würde ja rename benutzen:
Zitat:
|
|
|
|
|
|
| Themen-Optionen | Thema durchsuchen |
| Ansicht | |
|
|