我正在使用unix读取excel文件,按一列排序,然后我想要一个百分比(比如前10%)导出到新的.xls文件的排序行。我有下面的代码工作正常,但我需要在此行之前做一个wc -l
得到“126”,然后必须输入(这是一个麻烦,因为我想要连续过滤) 。
cat /Desktop/Results.xls | sort -n -k 3 | awk -F "[\t]" '{printf "%s\n",$0}' | head -$((126*1/10)) >./Results_0167_1.xls
答案 0 :(得分:0)
您可以将awk
修改为head
文件本身:
sort -n -k 3 /Desktop/Results.xls| awk '{a[i++]=$0}END{for (j=1;j<=i/10;j++){printf "%s\n",a[j]}}' >./Results_0167_1.xls
awk
存储和计算(a[i++]=$0
)sort
管道传输的记录,在此过程之后,在END
部分,它将打印回复,直到10%为达到:j<=i/10