0

当使用 SIPS 获取图像的 pixelWidth 时,它会输出一个标题。例如

sips -g pixelWidth $images

返回

"  pixelWidth: 1920"

我试图只获得整数部分,但没有运气:

sips -g pixelWidth $images | grep \d+$

有任何想法吗?

4

2 回答 2

2

只是一个易于阅读、强大的替代方案,因为您已经有了一个有效的答案,您可以awk像这样使用:

sips -g pixelWidth image.png | awk '/pixelWidth:/{print $2}'

这就是说...... “在包含单词'pixelWidth:'的行上,请打印第二个字段。”

于 2016-03-11T09:56:17.100 回答
1

您想使用 grep 的 -E (正则表达式)和 -o (捕获匹配)标志,这对我有用:

sips -g pixelWidth menu_icon.png | grep -Eo "\d+"

请注意,如果图像的文件路径中有任何数字,它们会显示出来(因为 sips 也会打印文件路径),因此您可能需要pixelWidth在 grep 输出数字之前添加 grep,如下所示:

sips -g pixelWidth menu_icon.png | grep pixelWidth | grep -Eo "\d+"
于 2016-03-11T05:01:50.450 回答