에 루프를 추가 나는 이전 post에서 해결 된 문제가 있었다 :AWK
을하지만 너무 많은 파일을 가지고 있기 때문에 모든 파일상의 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 –