Você não especifica o formato de saída e / ou se deseja algumas funções de agregação, mas um exemplo de script que criará como um arquivo de coluna de saída é:
for ((i=1;i<25;i++))
do
awk '{print $9}' Angle${i}/output.txt >>total.txt
done
Se você quiser ter a 9ª coluna de cada arquivo como coluna, você pode usar um script como este:
awk '{print $9}' Angle1/output.txt >>tmp
for ((i=2;i<25;i++))
do
awk '{print $9}' Angle${i}/output.txt |paste -d " " tmp - >>total.txt
mv total.txt tmp
done
mv tmp total.txt
Mas isso funcionará bem apenas se você tiver o mesmo número de linhas nos arquivos de entrada.
Esses scripts serão executados com qualquer shell Bash / Korn e funcionarão no Linux e no Cygwin.
Aqui estão meus testes. Arquivos de origem:
[romeo@localhost tmp]$ cat PKA1/output.txt
1 2 3 4 5 6 7 8 9 0
2 3 4 5 6 7 8 9 0 1
3 4 5 6 7 8 9 0 1 2
[romeo@localhost tmp]$ cat PKA2/output.txt
3 4 5 6 7 8 9 0 1 2
4 5 6 7 8 9 0 1 2 3
5 6 7 8 9 0 1 2 3 4
[romeo@localhost tmp]$ cat PKA3/output.txt
6 7 8 9 0 1 2 3 4 5
7 8 9 0 1 2 3 4 5 6
8 9 0 1 2 3 4 5 6 7
Meus scripts (editados para representar meu ambiente):
[romeo@localhost tmp]$ cat z1
for ((i=1;i<4;i++))
do
awk '{print $9}' PKA${i}/output.txt >>total.txt
done
[romeo@localhost tmp]$ cat z2
awk '{print $9}' PKA1/output.txt >>tmp
for ((i=2;i<4;i++))
do
awk '{print $9}' PKA${i}/output.txt |paste -d " " tmp - >>total.txt
mv total.txt tmp
done
mv tmp total.txt
E minhas corridas:
[romeo@localhost tmp]$ rm total.txt
[romeo@localhost tmp]$ bash z1
[romeo@localhost tmp]$ cat total.txt
9
0
1
1
2
3
4
5
6
[romeo@localhost tmp]$ rm total.txt
[romeo@localhost tmp]$ bash z2
[romeo@localhost tmp]$ cat total.txt
9 1 4
0 2 5
1 3 6