Saya memiliki serangkaian pip, grep, sedks, dan sed yang menghasilkan daftar angka, satu di setiap baris. Sesuatu seperti ini:
1.13
3.59
1.23
Bagaimana saya bisa mem-pipe ini ke sesuatu yang akan menghasilkan rata-rata, maks, dan min?
linux
bash
command-line-interface
JavaRocky
sumber
sumber
Jawaban:
Karena Anda sudah menggunakan awk
sumber
awk
pola di atas/usr/local/bin/stats
atau di dalam , dan kemudian menggunakannya sebagaiblabla | stats
.Saya menemukan program ini berguna untuk menghasilkan statistik pada daftar angka di baris perintah: http://web.cs.wpi.edu/~claypool/misc/stats/stats.html
sumber
Ada juga simple-r, yang dapat melakukan hampir semua hal yang dapat dilakukan R, tetapi dengan sedikit penekanan tombol:
https://code.google.com/p/simple-r/
Untuk menghitung rata-rata, maks, dan min, seseorang harus mengetikkan salah satu dari:
sumber
Dengan ujung topi ke @DerfK:
perl -lane '$n=$F[0]; if(not defined $min){$min=$max=$n}; if($n>$max){$max=$n}; if($n<$min){$min=$n}; $total+=$n; $count+=1; END{print $total/$count." $max $min"}'
$F[0]
adalah nilai dalam bidang pertama (0'th) dari setiap barisJika data input Anda dipisahkan koma, tambahkan
-F,
pengubah sebelumnya-lane
sumber