【发布时间】:2017-07-08 10:41:09
【问题描述】:
我想按线性回归 (p) 列的 绝对 值降序对该文件进行排序。我这样做的尝试并没有奏效。我不确定它失败了什么。我从http://www.unix.com/shell-programming-and-scripting/168144-sort-absolute-value.html 找到了这段代码。
awk -F',' '{print ($2>=0)?$2:-$2, $0}' OFS=',' mycsv1.csv | sort -n -k8,8 | cut -d ',' -f2-
X var,Y var,MIC (strength),MIC-p^2 (nonlinearity),MAS (non-monotonicity),MEV (functionality),MCN (complexity),Linear regression (p)
AT1G01030,AT1G32310,0.67958,0.4832027,0.32644996,0.63247,4.0,-0.44314474
AT1G01030,AT3G06520,0.61732,0.17639545,0.23569,0.58557,4.0,0.6640215
AT1G01030,AT5G42580,0.61579,0.5019064,0.30105,0.58143,4.0,0.33746648
AT1G01030,AT1G55280,0.57287,0.20705527,0.19536,0.52857,4.0,0.6048262
AT1G01030,AT5G30490,0.56509,0.37536618,0.16172999,0.51847,4.0,-0.43557298
AT1G01030,AT1G80040,0.56268,0.22935495,0.18583998,0.52728,4.0,-0.5773431
...
请帮助我理解 awk 脚本对这个文件进行排序。
【问题讨论】:
-
什么是“不太好用”?
-
。它没有按第 8 列或任何其他列排序。所以我不确定它为什么会失败
-
仔细看一下代码应该会有所帮助。我的意思是,当您对第 8 个字段感兴趣时,为什么要查看
awk中的字段$2?