Pergunta

I would like to change a specific line in a text file.

I have tried with this

perl -p -i  -e "s/JAI/ramkrishna/ if $. == 37" test.tex

But it is just deleting JAI but not writing ramkrishna.

Foi útil?

Solução

Your command works just fine. I guess you have the line number wrong?

With a test.tex file like this

aa
bb
cc
aa bb cc JAI dd ee ff
bb
cc
aa bb cc JAI dd ee ff
xx
yy
zz

the command

perl -p -i  -e 's/JAI/ramkrishna/ if $. == 7' test.tex

changes the file to

aa
bb
cc
aa bb cc JAI dd ee ff
bb
cc
aa bb cc ramkrishna dd ee ff
xx
yy
zz

Outras dicas

sed '37s/JAI/ramkrishna/' filename
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top