>как переставить две строки местами?
n1=3 # первая строка
n2=7 # вторая строка
awk -v a=$n1 -v b=$n2 ' NR < a || NR > b
NR == a {buf[b]=$0; k=a+1}
NR > a && NR < b {buf[k++]=$0}
NR == b {print; for(i=a;i<=b;i++) {print buf[i]}}
'
>Из этих чисел надо выбрать несколько самых максимальных.
nmax=5
awk -v n=$nmax ' NR <= n {buf[NR]=$1}
NR > n {min=$1
for(i=1;i<=n;i++) {
if (min > buf[i]) {
min=buf[i]
j=i
}
}
if(buf[j] < $1) buf[j]=$1
}
END {for(i=1;i<=n;i++) {print buf[i]}
'