如何通过特殊字符拆分变量

Shi*_*ira 16 awk

我有值存储当前分辨率,例如:$ 2 = 1920x1080.我想根据x字符拆分值,并将结果存储在2个变量中.通过上面的例子,第一个变量将存储1920和第二个1080.然后,我想基于这两个valyue对打印命令进行定义.

做这个的最好方式是什么?

she*_*ter 17

awk '{
   res=$2
   split(res,resArr,"x")
   print "resX=" resArr[1] "\tresY="resArr[2]
}' inFile
Run Code Online (Sandbox Code Playgroud)

如果我理解你的需要.

我希望这有帮助.


Fre*_*ihl 16

取决于我是否正确解释你的需要......

解读1,字符串是"1920x1080"

echo 1920x1080 | awk -F"x" '{print $1, $2}'
1920 1080
Run Code Online (Sandbox Code Playgroud)

解释2,字符串是"$ 2 = 1920x1080"

$ echo '$2 = 1920x1080' | awk -F"x" 'sub(/\$[0-9] += +/, "", $1){print $1, $2}'
1920 1080
Run Code Online (Sandbox Code Playgroud)

在两个示例中,宽度都放在$1和中$2