Você pode usar sed
ou perl
para imprimir a linha X:
$ cat -n input.txt
1 roses are red
2 violets are blue
3 sed is interesting
4 and perl is too
$ perl -ne 'print $_ if $. == 3' input.txt
sed is interesting
$ sed -n '3p' input.txt
sed is interesting
Então você pode usar sed 'NUMBERs/WORD/NEWWORD/' file.txt
$ sed '3s/interesting/fun/' input.txt
roses are red
violets are blue
sed is fun
and perl is too
Você também pode usar -i
flag para editar o arquivo no local.
Same with Perl:
$ perl -pe 's/interesting/fun/ if $. == 3' input.txt
roses are red
violets are blue
sed is fun
and perl is too
NOTA : Com os dois exemplos de edição, você não precisa saber se a linha contém palavras ou não. Tanto perl
como sed
substituirão a palavra se e somente se a linha contiver a palavra / padrão. Se isso não acontecer, a linha permanecerá a mesma.