Eu estava olhando para esta solução: Usando sed para editar linhas em um arquivo com uma variável e tentei aplique-o à minha situação, mas só recentemente descobri sed
e ainda não o peguei.
Se eu tiver um arquivo localizado /tmp/mary.txt
e se parece com isso:
Mary had a little lamb
with fleece as white as
snow. Everywhere that
Mary went, the lamb was
sure to go.
Eu quero substituir uma linha de texto neste arquivo, especificamente:
Mary had a little lamb
- > Mary had 2 little lambs
Eu usei isso:
sed -i 's/*.had a little lamb.*/Mary had $(nproc) little lambs/' /etc/mary.txt
Estou usando -i
para inplace e s/
para substituto e isso gera um erro:
sed: 1: "mary.txt": extra characters at the end of g command
A outra coisa que estou tentando fazer é substituir a palavra "lamb" na primeira linha pelo resultado de echo $PATH
sed -i 's/*.had a little lamb.*/ Mary had a little '$(echo $PATH)'/' /etc/mary.txt
Isso gera o mesmo erro acima. Eu sei que estes são dois cenários diferentes, mas pode ser mostrado para mim o que eu fiz de errado, então eu posso usar isso no futuro.