这是一个很难编写正则表达式的情况,因为我们不知道文件名是否包含空格或扩展名。更容易将format开关用于identify:
identify -format '%w' filename.jpg
3360
identify -format '%h' filename.jpg
1080
在 bash 中,你会写:
W=`identify -format '%w' filename.jpg`
H=`identify -format '%h' filename.jpg`
这+0+0是图像的偏移量,+0+0仅表示从轴开始,然后在0轴上。您可以在 imagemagick 手册中阅读更多内容。x0y
马克·塞切尔编辑
上述答案非常好,我不想添加竞争答案,只是一个澄清,或小改进,太大而无法评论......
由于 OP 正在使用bash,他可以一次获得宽度和高度,而无需多次打开图像,如下所示:
read w h < <(identify -format "%w %h" filename.jpg)
连同其他任何东西,例如色彩空间和独特颜色的数量:
read w h c u < <(identify -format "%w %h %[colorspace] %k" filename.jpg)