我有一个文件:
property(Address1, 4.5)
property(Address2, 2.2)
property(Address3, 9.0)
property(Address4, 3.4)
---
我想根据某些条件替换浮点数(例如:如果数字在2到4之间,我将其替换为Low,否则替换为High)以产生以下结果:
property(Address1, High)
property(Address2, Low)
property(Address3, High)
property(Address4, Low)
---
我的尝试:(1)首先使用$提取数字。(2)检查条件是否满足(3),然后打印。但是在此过程中,我无法将Address *输出到输出文件。
这确实(严格地)满足您的要求:
awk '{ print $1, (($2>2)&&($2<4))?"Low)":"High)" }'
但这是利用了这样的事实,例如awk9.0)
将类似(带括号)的字符串转换为数字9
。例如,如果添加空格,那可能会失败。
一种更严格的解决方案是还使用右括号作为字段定界符,以将其从字段编号的内容中删除2
。
awk -F'[ )]' '{print $1,(($2>2)&&($2<4))?"Low)":"High)"}'
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句