I have this string:
Stream #0:0: Video: vp6f, yuv420p, 852x478, 1638 kb/s, 25 tbr, 1k tbn, 1k tbc
and I would like to extract 25
Here is one approach with awk:
$ awk '/tbr/{print $1}' RS=, file
25
29.97
Explanation:
By default awk treats each line as a record, By setting RS to , we set the record separator to a comma. The script looks at each record and prints the first field of any record that matches tbr.
A GNU grep approach that uses positive lookahead:
$ grep -Po '[0-9.]+(?= tbr)' file
25
29.97