我有一个应用程序,它输出一个带有数字的字符串,如下所示:
output number is 20.
我有一个代码可以解析输出并只删除数字:
result=$(./my_script | awk 'print $4')
echo $result
结果输出将按预期“20”,但现在,如果我尝试将其用作整数,例如:
result=$((result+1))
然后我会收到一个错误:
13915: syntax error: operand expected (error token is "20")
将它用作seq参数也会出错
$(seq 0 $result)
seq: invalid floating point argument: ‘\033[?25h\033[?0c20’
尝试使用%q打印它会得到相同的结果:
printf '%q' $result
'\E[?25h\E[?0c20'
所以,看起来字符串中有一些意想不到的字符,但我不确定如何修剪它们?
谢谢!
答案 0 :(得分:2)
您可以尝试使用Regex来获取号码。
它对我有用:
{
basePath: '',
frameworks: ['jasmine', '@angular/cli'],
middleware: ['surpassImage404sMiddleware'],
plugins: [
...
{'middleware:surpassImage404sMiddleware': ['value', surpassImage404sMiddleware]}
],
...
}
希望这有帮助。
答案 1 :(得分:0)
或者,简单地说,更改字段分隔符
result=$(./my_script | awk -F '[. ]' '{print $4}')
echo $result