Você não entendeu como awk
funciona. O "programa" especificado é sempre executado uma vez para cada linha (ou "registro" no jargão do awk) de entrada, não há necessidade de FOR
ou qualquer construção similar. Apenas use:
método detalhado
ls -l | awk 'NR>=122 && NR<=129 { print }'
método mais compacto
ls -l | awk 'NR==122,NR==129'
Esse um dá um intervalo para NR
, que é o "Registro de Número", normalmente essa é a linha atual que o awk
está processando.