从字符串中提取分辨率

时间:2013-04-16 14:00:05

标签: regex linux sed awk

我有以下字符串

Stream #0:0(eng): Video: h264 (Constrained Baseline) (avc1 / 0x31637661), yuv420p, 1280x720 [SAR 1:1 DAR 16:9], 5238 kb/s, 29.97 fps, 29.97 tbr, 30k tbn, 58 tbc

我尝试提取1280x720

我用过

sed -r 's/.+([0-9]{3,5})x([0-9]{3,5}).+/\1x\2/' 

但它只会返回280x720

2 个答案:

答案 0 :(得分:1)

grep可能有所帮助:

grep -Po '\d{3,5}x\d{3,5}'

答案 1 :(得分:1)

这不是那么简洁,但它会起作用 much more 比尺寸。

$ eval $(ffprobe -v 0 -show_streams -print_format flat=h=0:s=_ foo.mp4)

$ echo $stream_0_width
1280

$ echo $stream_0_height
720