我正在处理一包图片,“文件”从中返回以下内容:
$ file pic.jpg
pic.jpg: JPEG image data, JFIF standard 1.01, resolution (DPI), density 96x96, segment length 16, baseline, precision 8, 231x288, frames 3
$ file pic.jpg | cut -d',' -f8 | tail -c+2
231x288
因此,在继续裁剪之前,我使用内置的“读取”在两个变量中选择尺寸。
但有些事情让我无法理解。为什么这个构造不起作用...
$ ( file pic.jpg | cut -d',' -f8 | tail -c+2 | IFS=x read width height ; echo w:$width h:$height; )
w: h:
...当这个结构在工作时?
$ ( IFS=x read width height <<< $(file pic.jpg | cut -d',' -f8 | tail -c+2) ; echo w:$width h:$height; )
w:231 h:288
总而言之,为什么我不能在这种情况下使用带有内置“读取”的管道?