Hi Leute, zu meiner Schande bin ich nicht sehr, bzw. gar nicht fit, was die bash an geht. Ich habe hier die drei Zeilen: #!/bin/bash for i in 'find . -name *ogg'; do rm $i done Aber das Ding tut niicht. Es heißt: rm: Ungültige Option -- n rm --help“ gibt weitere Informationen. Was übersehe ich hier, bzw. was stimmt daran nicht. Gruß Can -- ____________________________________________________________________________ Registered Linux User No. 314644 ____________________________________________________________________________
#!/bin/bash for i in 'find . -name *ogg'; do rm $i done
Aber das Ding tut niicht.
Es heißt:
rm: Ungültige Option -- n rm --help??? gibt weitere Informationen.
Wenn ein Dateiname mit einem '-' beginnt, interpretiert rm diesen Dateinamen als vermeintliche Option. Versuche mal rm ./$i Du kannst auch mal ein echo davorschreiben, dann siehst Du, was er versucht. Übrigens ist das 'find . [...]' nur dann sinnvoll, wenn Du garantieren kannst, daß Du im richtigen Verzeichnis bist, also z.B. im Skript vorher einen ABSOLUTEN Pfadwechsel gemacht hattest... Thomas Mack
Hi Thomas
Versuche mal rm ./$i Du kannst auch mal ein echo davorschreiben, dann siehst Du, was er versucht.
Er versucht ein rm find . -name *.ogg das verstehe ich nicht. Ich habd das Skript schon mit ogg2mp3 als Befehl benutzt, das ging ohne Probleme. Woran kann das noch liegen?
Übrigens ist das 'find . [...]' nur dann sinnvoll, wenn Du garantieren kannst, daß Du im richtigen Verzeichnis bist, also z.B. im Skript vorher einen ABSOLUTEN Pfadwechsel gemacht hattest...
Das weiß ich. danke für den Hinweis. Gruß Can -- ____________________________________________________________________________ Registered Linux User No. 314644 ____________________________________________________________________________
Am Freitag, 22. April 2005 19:11 schrieb Can-Carlo Doertbudak:
#!/bin/bash for i in 'find . -name *ogg'; do rm $i done
einfacher und ohne schleife: find . -iname \*.ogg -type f -exec rm {} \; unterschiede: -iname statt -name sucht unabhängig von gross-klein-schreibung -type f findet nur dateien, keine verzeichnisse oder links -exec führt den befehl aus der danach kommt, {} wird ersetzt durch das suchergebnis die beiden \ sind wichtig! bye, MH
Hi Mathias, hallo Thomas Danke schön, das gefällt mir sehr gut. Man lernt nie aus! Gruß Can -- ____________________________________________________________________________ Registered Linux User No. 314644 ____________________________________________________________________________
Hallo, Am Fri, 22 Apr 2005, Can-Carlo Doertbudak schrieb:
zu meiner Schande bin ich nicht sehr, bzw. gar nicht fit, was die bash an geht. Ich habe hier die drei Zeilen:
#!/bin/bash for i in 'find . -name *ogg'; do ^ ^ das sind die faslchen. rm $i ^^ quoten! done
==== #!/bin/bash for dir in "${@:-.}"; do find "$dir" -iname '*.ogg' | while read -r name; do rm "$name" done done ==== -dnh -- Digital files cannot be made uncopyable, any more than water can be made not wet. --Bruce Schneier on `copy protection' schemes
participants (4)
-
Can-Carlo Doertbudak
-
David Haller
-
mack@ifis.cs.tu-bs.de
-
Mathias Homann