Dado que txt
é atribuído ao texto que você deseja adicionar e que i
é atribuído ao número da linha na qual inserir o texto, isso gerará o resultado desejado:
$ awk -v line="$i" -v text="$txt" '{print} NR==line{print text}' /path/to/textfile
Uma pequena modificação para adicionar text
ao número de linha especificado (além do texto já existente), em vez de adicioná-lo após a linha existente i
(em uma linha por sua próprio) como o código acima faz:
$ awk -v line="$i" -v text="$txt" ' NR!=line{print} NR==line{print $0 text}' /path/to/textfile