0
但因爲我有太多的文件,它做的每個文件的AWK,然後使用第二個劇本得到是不切合實際我想要的輸出。
這裏是我的文件的一些例子:
3
10
23
.
.
.
720
810
980
和腳本來看到從第一個文件的數字在這個其他的文件下跌:
2 0.004
4 0.003
6 0.034
.
.
.
996 0.01
998 0.02
1000 0.23
之後範圍爲位於第二個文件中的第二列的平均值被估計。
下面是腳本:
awk -v start=$(head -n 1 file1) -v end=$(tail -n 1 file1) -f script file2
和
BEGIN {
sum = 0;
count = 0;
range_start = -1;
range_end = -1;
}
{
irow = int($1)
ival = $2 + 0.0
if (irow >= start && end >= irow) {
if (range_start == -1) {
range_start = NR;
}
sum = sum + ival;
count++;
}
else if (irow > end) {
if (range_end == -1) {
range_end = NR - 1;
}
}
}
END {
print "start =", range_start, "end =", range_end, "mean =", sum/count
}
我如何才能讓一個循環,這樣每個文件的平均估計。我希望的輸出是這樣的:
Name_of_file
start = number , end = number , mean = number
在此先感謝。
GNU awk版本4具有'BEGINFILE'和'ENDFILE'特殊模式,可能有用。你應該做的是減少你的問題到你的索引文件和一些其他文件,並顯示你想要的輸出:http://stackoverflow.com/help/mcve –