Bash Script und Leerzeichen im Dateinamen

  • Ich habe hier ein Script um mehrere Videos in einem Verzeichniss zu transcodieren und scheitere zur Zeit an Dateinamen die Leerzeichen enthalten.

    Ein Teil des Scriptes sieht so aus:

    Shell-Script
    1. #!/bin/sh
    2. for i in F*.* ; do
    3. /usr/bin/mediainfo "$i" > mediainfo
    4. echo "$i" >> out.txt
    5. done

    out.txt:

    Code
    1. Fack ju Göhte.mkv
    2. Fight Club.ISO
    3. Final Destination 2.ts
    4. Final Destination 3.ts
    5. Final Destination 4.avi
    6. Final Destination 5.ts
    7. Final Destination.ts
    8. Full Metal Jacket.ts

    Mediainfo erstellt nur eine Datei ohne Inhalt. Bei Dateinamen ohne Leerzeichen funktioniert Mediainfo hingegen. Kann da jemand weiterhelfen??

    RPI3, DVB-Sky S960, VDR 2.2.0, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

    The post was edited 1 time, last by Asta ().

  • Wenn alle Ausgaben mit ">" anstelle von ">>" auf die Datei "mediainfo" gehen, wird nur die allerletzte übrigbleiben.

    Eigentlich sollte es trotz der "DOS-Syntax" trotzdem funktionieren :)

    Mediainfo sollte aber kein Shellscript sein ...

    --
    vdr User #2022 - hdvdr2: Lenovo SFF M83, Intel(R) Core(TM) i5-4670S, 12 GB Ram, ubuntu-focal, softhddevice-cuvid
    ddbridge-6.5 mit 2xDVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF720 SFF passiv (nvidia-450.80, --no-unified-memory), System SSD btrfs,

    snapper, 8TB HDD XFS/cow /srv/vdr, yavdr-ansible-2.4.3-patches, vdr-epg-daemon mit Frodo-plugins, Kernel 5.9.1-lowlatency

    vdradmin-am, live+webstreaming, vdrmanager (Smartphone als FB), ffmpeg-4.3.1-libfdk_aac, vdr-plugin-hbbtv. Folding@home läuft auf CPU.

  • Eigentlich kommt vor dem "done" noch eine abfolge von befehlen. Die mediainfo Ausgabe brauche ich um bestimmte Werte beim transcoding zu setzen. Trotzdem erstellt mediainfo nur eine leere Datei. Wobei

    "mediainfo Video.ts > mediainfo.txt " geht, aber "mediainfo Video\ mit\ Leerzeichen.ts > mediainfo.txt " geht nicht.

    Das bezieht sich nur auf die Ausführung im Script. Auf der Kommandozeile funktioniert mediainfo auch mit Leerzeichen. Irgendwie übergibt mein Script nicht den richtigen Dateinamen an mediainfo.

    RPI3, DVB-Sky S960, VDR 2.2.0, Raspbian Jessie, Onkyo AV Receiver, Panasonic Plasma.

  • Ich hab das Script bei mir (focal) laufen lassen, mit denselben Dateinamen, und es funktionierte eigentlich trotzdem. Die Namen mit Leerzeichen werden mit Hochkommata ausgegeben. Ist "mediainfo" dasselbe binary?

    --
    vdr User #2022 - hdvdr2: Lenovo SFF M83, Intel(R) Core(TM) i5-4670S, 12 GB Ram, ubuntu-focal, softhddevice-cuvid
    ddbridge-6.5 mit 2xDVB-S2 und (Flex) 2xDVB-C/T Tunern, nvidia-GF720 SFF passiv (nvidia-450.80, --no-unified-memory), System SSD btrfs,

    snapper, 8TB HDD XFS/cow /srv/vdr, yavdr-ansible-2.4.3-patches, vdr-epg-daemon mit Frodo-plugins, Kernel 5.9.1-lowlatency

    vdradmin-am, live+webstreaming, vdrmanager (Smartphone als FB), ffmpeg-4.3.1-libfdk_aac, vdr-plugin-hbbtv. Folding@home läuft auf CPU.