Com awk
, supondo que você sempre tenha pelo menos dois arquivos, que todos os arquivos tenham o mesmo número de linhas entre [PATTERN0]
e [PATTERN1]
e que essas linhas sejam na verdade números:
awk '
BEGIN {
# discard the garbage before [PATTERN0]
for (i = 1; i < ARGC; i++) {
do
getline str <ARGV[i]
while (str !~ /\[PATTERN0\]/)
}
# read sum from first file, then add numbers in turn from the other files
while ((getline sum <ARGV[1]) && sum !~ /\[PATTERN1\]/) {
for (i = 2; i < ARGC; i++) {
getline nr <ARGV[i]
sum += nr
}
print sum
}
}' file1 file2 file3 ...