![如何为给定的条件语句分配列的值](https://linux22.com/image/49895/%E5%A6%82%E4%BD%95%E4%B8%BA%E7%BB%99%E5%AE%9A%E7%9A%84%E6%9D%A1%E4%BB%B6%E8%AF%AD%E5%8F%A5%E5%88%86%E9%85%8D%E5%88%97%E7%9A%84%E5%80%BC.png)
我需要一个脚本来为给定条件参数的列分配值。具体来说,这是我的数据和我的情况
输入data.file
:
0.4
3.6
-2.4
0.1
-2.0
1.6
2.2
3.6
条件:如果data.file大于2(>2),则赋值R;如果data.file小于-2(<-2),则赋值S;如果data.file大于或等于-2且小于或,则赋值M等于 2 [-2,2]。
所需的输出文件out.file
0.4 M
3.6 R
-2.4 S
0.1 M
-2.0 M
1.6 M
2.2 R
3.6 R
答案1
逐行读取文件,检查该值是否属于给定类别并相应输出。
awk '{if($1>2)print $1,"R"; else if ($1<-2)print $1,"S"; else print $1,"M"}'