Este não deve ser um site "escreva este programa para mim", por isso estou assumindo que você não tem idéia de por onde começar. Então aqui está uma maneira:
#!/bin/bash
highest=-999
for x in a[0-9]/a[0-9].txt;do
fourth="$(awk 'NR==1{print $4}' $x)"
if [ $highest -lt $fourth ];then
highest=$fourth
hifile=$x
fi
done
echo "highest was $highest in $hifile"
mv $hifile high/
Um resumo do que o código acima faz:
percorre todas as combinações de diretório / arquivo denominadas a[0-9]/a[0-9].txt
ele usa awk para designar o quarto campo ( {print $4}
) da primeira linha ( NR==1
) para a variável quarto. Em seguida, compara se o valor mais alto for menor que o quarto ( if [ $highest -lt $fourth ];then
) e, se for o caso, salvará o nome do arquivo na variável hifile. Quando o loop é feito, ele move o arquivo para o diretório "high"