So, I was doing this:

ffmpeg -i /media/johann/5461-000B/DCIM/100MEDIA/IMAG0079.AVI -ss 00:00:00 -t 00:00:20 ~/Public/240321/240321_0079.avi ; rm /media/johann/5461-000B/DCIM/100MEDIA/IMAG0079.AVI

one at a time changing the IMAG0079 to IMAG0080 etc every time. I am sure there must be a way to perform two actions (ffmpg) and (rm) on each file in a folder. Can anyone help (For next time)

Thanks!

  • LuckyJones@lemmy.world
    link
    fedilink
    English
    arrow-up
    6
    ·
    8 months ago

    It’s a bit long for a one-liner, but this should work.

    for f in /media/johann/5461-000B/DCIM/100MEDIA/*.AVI; do num=${f%.AVI}; num=${num##*IMAG}; ffmpeg -i "$f" -ss 00:00:00 -t 00:00:20 "~/Public/240321/240321_$num.avi"; rm "$f"; done

    This num=${f%.AVI}; num=${num##*IMAG}; extracts the number from the video filename. To make sure it’s not deleting anything it shouldn’t, you also might want to run it with rm -i "$f"