Her satırda bir sayı listesi üreten bir dizi borulu greps, awks ve seds var. Bunun gibi bir şey:
1.13
3.59
1.23
Bunu ortalama, maks ve min çıktı verecek bir şeye nasıl bağlayabilirim?
Her satırda bir sayı listesi üreten bir dizi borulu greps, awks ve seds var. Bunun gibi bir şey:
1.13
3.59
1.23
Bunu ortalama, maks ve min çıktı verecek bir şeye nasıl bağlayabilirim?
Yanıtlar:
blahblahblah | awk '{if(min==""){min=max=$1}; if($1>max) {max=$1}; if($1<min) {min=$1}; total+=$1; count+=1} END {print total/count, max, min}'
awk
paterni /usr/local/bin/stats
ya da böyle koydum ve sonra olarak kullanırım blabla | stats
.
Bu programı komut satırındaki sayı listelerinde istatistik oluşturmak için yararlı buluyorum: http://web.cs.wpi.edu/~claypool/misc/stats/stats.html
Ayrıca R'nin yapabileceği hemen hemen her şeyi yapabilen basit-r vardır, ancak daha az tuş vuruşuyla:
https://code.google.com/p/simple-r/
Ortalama, maks ve min'i hesaplamak için aşağıdakilerden birini yazmanız gerekir:
r summary file.txt
r summary - < file.txt
cat file.txt | r summary -
@DerfK'ye bir şapka ucu ile:
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]
her satırın ilk (0'cı) alanındaki değerdir
Giriş verileriniz virgülle ayrılmışsa, -F,
önce değiştiriciyi ekleyin-lane