Parece que os autores desse exemplo imaginaram o formato dos arquivos A e B como algo assim:
Arquivo A:
X Y Z
1 2 3
4 5 6
Arquivo B:
6 7 8
o o 0
O que o exemplo AWK faz é criar uma quarta coluna. NR aqui representa a linha atual que o AWK está processando. Na primeira linha, o quarto parâmetro da string "ratio" (nome da coluna), em todas as linhas seguintes, define o quarto parâmetro para o terceiro parâmetro dividido pelo segundo. O resultado:
awk 'NR==1{$4="ratio"}NR>1{$4 = ($3)/($2)} {print $1 "\t" $2 "\t" $3 "\t" $4}' A
X Y Z ratio
1 2 3 1.5
4 5 6 1.2
6 7 8 1.14286
1 2 3 1.5
Quanto ao erro que você está recebendo:
awk: cmd. line:1: (FILENAME=A FNR=18) fatal: division by zero attempted
Certifique-se de que a 18ª linha do arquivo A contenha números nas colunas 2 e 3.
Você pode usar sed para converter os caracteres 'o' em 0:
cat A B | sed 's/\bo\b/0/g'
E você pode verificar se a coluna 2 é 0 e agir de acordo:
awk 'NR==1{$4="ratio"}NR>1{if($2==0) $4 = "N/A"; else $4 = ($3)/($2)}
Coloque junto, você começa:
cat A B | sed 's/\bo\b/0/g' | awk 'NR==1{$4="ratio"}NR>1{if($2==0) $4 = "N/A"; else $4 = ($3)/($2)} {print $1 "\t" $2 "\t" $3 "\t" $4}'
X Y Z ratio
1 2 3 1.5
4 5 6 1.2
6 7 8 1.14286
0 0 0 N/A