我的csv中有一列这样的内容:
Last Mont Evolution (%)
0.00%
4.35%
4.17%
0.00%
7.29%
6.21%
4.10%
0.00%
-0.03%
2.78%
2.46%
-1.09%
19.18%
12.32%
我想提取高于4%的值,所以我这样做:
awk '$1>4 {print $1}' file.csv | sort -r -n
输出为:7.29% 6.21% 4.35% 4.17% 4.10%
但是值19.18%
和12.32%
在哪里?
你能帮我吗?
答案 0 :(得分:1)
由于百分号,您正在处理字符串。告诉awk
和sort
使用百分比作为分隔符,一切正常:
awk -F% '$1>4 {print $1}' file.csv | sort -t% -r -n
输出:
19.18
12.32
7.29
6.21
4.35
4.17
4.10
答案 1 :(得分:0)
您不必执行-F%
,可以让awk将字符串“转换”为数字:
awk '$0+0>4' file
这将输出大于4%
的所有百分比。如果要对输出进行排序,请管道传输到sort