Linux: How to list all video files with exactly 720p resolution?

I have several video files with different resolutions. Now I want to list only the video filenames with e.g. 720p resolution. I prefer one liners on the bash command line and I can receive helpful video informations including resolution when I execute:

avconv -i video.mp4

but this combination:

find -exec sh -c 'if [[ "$(avconv -i {}") == *720* ]] ; then echo 720 found; fi;'

produces the error: exec - missing argument.

I'm honest, I have hardly fights with bash command structures, especially combined commands. So, what is wrong in my combined command string?

Thank you.


Solution 1:

Maybe this command accommplishes what you are looking for:

for i in *.mp4; do if [[ $(avconv -i $i) =~ .*720.* ]]; then echo $i; fi; done