提取bash中x之间的数字的最简单方法

时间:2019-07-15 05:12:35

标签: linux bash

我只想从Imagick调用一次“ identify”以减少计算时间,但是我对bash并不熟悉。当前在bash中,我有以下代码:

width=`identify -ping -format '%w' "$file"`
height=`identify -ping -format '%h' "$file"`

这很不好,因为它两次调用,下载,处理同一文件。然后我发现我实际上可以只用一个叫“识别”:

resolution=`identify -ping -format '%wx%h' "$file"`

但是如何将“ resolution”字符串变量分成两个变量。

例如:

分辨率返回:1000x500

然后我想将1000分隔为“ a”,将500分隔为“ b”

请指导使用什么命令来分隔字符串,然后我可以对其进行研究

1 个答案:

答案 0 :(得分:1)

$ resolution=$(echo '1000x500')
$ echo "${resolution%x*}"
1000
$ echo "${resolution#*x}"
500

显然我用echo '1000x500'代替了identify -ping -format '%wx%h' "$file",因为我没有后者的命令。

请参见http://pubs.opengroup.org/onlinepubs/9699919799/utilities/V3_chap02.html#tag_18_06_03https://www.gnu.org/software/bash/manual/bash.html#Shell-Parameter-Expansion