我有这样的CSV
Parameter Values,Count,% of Results " david;dd@gmail.com;10300 "," 15 "," 50.0% " " david;dd@gmail.com;12300 "," 15 "," 50.0% " " davidk;dk@gmail.com;32300 "," 15 "," 50.0% " " joe;joe@gmail.com;9200 "," 15 "," 50.0% " " john;jj@gmail.com;1500 "," 15 "," 50.0% "
我想获得具有最高数字值的行,在这种情况下是32300
我已经做了一个尝试,但它使用了几个命令
export max=$(awk -F, '{split($1,a,";"); print a[3] }' contestEntryTest.csv | tr -d ' "' | sort -nr | head -n 1) ; grep $max contestEntryTest.csv
我怎么能用less些命令或者一个命令来完成上面的问题,一个更有经验的bash程序员如何做到上述问题,仅仅为了学习的体验。 干杯!
如果文件是demo.csv,则可以使用排序
sort -t ';' -k3 -n demo.cvs|tail -n 1
一个纯粹的方法来做这个诀窍:
awk -F"[; ]" '($4>v){v=$4}END{print v}' FILE