this post was submitted on 21 Mar 2024
8 points (100.0% liked)

Linux Troubleshooting and scripts

465 readers
1 users here now

this is a community for sharing your scripts that help when working with Linux as well a general troubleshooting.

Rules

Feel free to ask any kind of support questions, as we grow more succinct answers will be available. Let's make this community grow.

We are important to one another, not only in the linux world but also in the fediverse as a whole. Feel free to reach out to me with questions or concerns, as we grow bigger I will look into adding mods. (This section will be updated as needed.)

founded 1 year ago
MODERATORS
 

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!

you are viewing a single comment's thread
view the rest of the comments
[โ€“] [email protected] 6 points 7 months ago (1 children)

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"

[โ€“] [email protected] 3 points 7 months ago