Что сложного-то?
#! /bin/awk -f
function reverse_halves(a)
{
n = length(a);
n2 = int(n / 2);
return substr(a, n2 + 1, n - n2) substr(a, 1, n2);
}
BEGIN { i = 1; }
{
for (j = 1; j <= NF; ++j)
printf("%s ", i == j ? reverse_halves($j) : $j);
printf("\n");
++i;
}