【发布时间】:2018-12-22 10:50:35
【问题描述】:
在一个文本中,我想根据它的范围对我的数据进行分类。
例如,8.1,9.1,9.9 都在 [8,10) 中。我在 awk-if 中分别使用了 left 和 right 变量来替换 8 和 10。但它不能正常工作。
我的数据是这样的:
9.1 aa
9.2 bb
10.1 cc
11.9 dd
然后我的脚本是这样的:
left=8;right=10 #left=10;right=12
echo "["$left","$right"]:"
cat data | awk '{if(($1>="'$left'")&&($1<"'$right'")) print $2}' | xargs
结果为空。
[8,10]:
但是如果我直接使用8和10(不带变量),就可以了。而当我使用left=10,right=12时,它也能正常工作。
我也发现当left=98,right=100时,它也不起作用。那么为什么有时它不起作用呢?非常感谢!
【问题讨论】:
-
catis useless 和xargs充其量也同样可疑。
标签: shell variables if-statement awk