Anwendungen
Portal
Forum
Wiki
Ikhaya
Planet
Mehr
Anmelden

Einlesen von *.mp4 Dateien mit Leerzeichen Probleme

Ich wollte aus einem Verzeichnis alle *.mp4 Dateien ausgeben lassen und diese einzeln später verarbeiten, doch gab es schon beim Einlesen Probleme. Und zwar entstehen beim Einlesen von Dateinamen mit Leerzeichen Probleme. Da ich selbst kein Auge immer auf dieses Verzeichnis werfen kann, und auch andere Personen dort Videos hinterlegen können, kann ich nicht sichergehen, dass es keine Dateien mit Leerzeichen gibt :/

1
2
3
4
5
6
7
#!/bin/bash
cd /videos/
array=$(ls -F --file-type *.mp4)
for files in $array
do
	echo $files
done

Und zwar bekomme ich die Ausgabe wie folgt.

testdatei1.mp4
testdatei
nummer2.mp4

Eigentlich sollte er die Dateien so ausgeben

testdatei1.mp4
testdatei nummer2.mp4

Ich sitze nun schon 2 Tage an diesem Problem und alle Recherche im Internet hat mir nicht weitergeholfen. Ich muss zugeben ich bin in diesem Bereich noch Neuling. Deshalb wende ich mich nun selbst an euch und hoffe das man mir helfen kann :)

Willkommen im Forum.

Schau dir doch mal unser Wiki an ... Shell/Bash-Skripting-Guide für Anfänger

Du musst richtig quoten, zefix! Außerdem kannst du das kürzer schreiben:

for files in /videos/*.mp4; do
echo "$files"
done

datei.mp4
datei mit leerzeichen.mp4

:-D

Hi Senica,

erstmal herzlich willkommen hier auf dem Forum !

Du erlebst da einen typischen Laienfehler, vor dem auch hier auf Greg's Wiki ausdrücklich gewarnt wird !
Ist in diesem Fall nicht so schlimm. Aber es zeigt, dass man sich da besser vorher etwas einliest, bevor (!) man losskriptet, damit man nicht in so eine Falle tappt.

LG,

track

Vielen Dank, ich wäre nicht darauf gekommen dass es doch so einfach ist. Es funktioniert wunderbar :)

Ich werde euren Tipp befolgen und erstmal ein bisschen lesen, danke :)