data=$(ffmpeg -i /video.mp4 -vf cropdetect -f null - 2>&1 |
awk \'/crop=/ {time=$(NF-2); crop=$NF} END {print time, crop}\')
echo $data | cut -d" " -f1
echo $data | cut -d" " -f2
结果
t:49.960000
crop=1920:1072:0:4
我试图立即以数组形式获取结果
eval declare -A data=(`ffmpeg -i /video.mp4 -vf cropdetect -f null - 2>&1 |
awk \'/crop=/ {time=$(NF-2); crop=$NF}
END {print "[time]=" time,
"[crop]=" crop}\'`)
echo ${data[time]}
不起作用,结果是空的,我没有尝试过任何选项......
我将在 awk 中生成一个脚本,声明一个变量并显式分配数组元素:
bash 在 中执行此脚本
eval
,其中出现一个数组data
:结果: