Hallo erstmal, Am Donnerstag, 21. Juni 2001 um 05:01 schrieb Bernd Brodesser / Sascha Peters:
* Sascha Peters schrieb am 20.Jun.2001:
Am Mittwoch, 20. Juni 2001 um 19:48 schrieb Jan Trippler / Sascha Peters:
Dateinamen-Expansion der Shell rumschlagen willst: Übergib dem Script einfach nur die Endung: script.sh mp3 und im Script nimmst Du dann: ls *.$1 | while read datei; do soll dann also die Suchmaske sein den "ls" Befehls! oder? und diese wird Wenn Du als erstes Argument mp3 hast, dann ersetzt die Shell *.$1 mit allen Dateien im aktuellen Verzeichnis, die nicht mit einem . anfangen und mit .mp3 enden. Ist das Argument hingegen wav, so werden alle Dateien im aktuellen Verzeichnis genommen, die nicht mit einem . beginnen und mit .wav enden.
Wie könnte man denn es so einrichten das man auch Dateinamen nimmt die mit einem Punkt anfangen?
dann umgeleitet auf eine schleife! aber ist "datei" auch eine Variable Genaugenommen wird die Ausgabe umgeleitet, und zwar in einer pipe geleitet. Also alle Dateinamen, die passen.
Ja, datei ist eine Variable. Nach read kommt immer der Bezeichner einer Variablen. ACHTUNG: Da darf kein $ vor. Bei der shell kommt bei der Auswertung einer Variablen ein $ vor den Namen, aber nur dort. Bei der Definition der Variablen darf kein $ stehen. Anstelle von datei kannst Du auch alles mögliche wählen, aber datei bietet sich hier an.
danke das leuchtet mir nun ein, also wird dort diese Variabele erst definiert desewegen habe ich das auch nicht verstanden!
Was ich jetzt nicht verstanden habe, macht denn außer mp3 auch noch eine andere Endung Sinn? Wenn nicht, dann könnte das doch auch mit im Skript. Und wenn es auch noch andere Endungen geben, was ist mit dem nachfolgenden basename? Müßte da nicht auch die Endung variabel sein? Aber was sonst außer mp3 könnte da noch kommen?
Also man könnte den Script auch so schreiben das er WAV in MP3 schreibt, aber dann braucht man ja wieder ein anderes Programm als mpg123 und muß dann vorher abfragen welches Programm nun verwendet werden soll, alles machbar aber das brauche ich nicht. Ich habe das *.mp3 nun direkt in das Script mit eingebaut und das geht auch! Ich habe allerdings fast alles aus Variablen gebaut das man in seinem Homeverzeichnis sagen kann was man wie macht, zum Beispiel auch welche Verzeichnisse und auf welchen Rechner im Netz. Damit man das auch nicht jeden User als Parameter des Scriptes anhängen lassen muß! Ich schicke das Script jedem Interessierten gerne zu wenn ich fertig bin bitte dann eine PM an mich mit PM absender! -- Mit freundlichen Grüssen Sascha Peters linux@progressing.de