Eu preciso fazer um script bash que leia um arquivo contendo variable = text. O que eu preciso é que o script verifique o arquivo, ignore o nome da variável e procure por uma palavra no texto após o símbolo =.
Exemplo
thread.give_respect.title = Give respect
thread.receive_respect.title = Gain respect
thread.profile_respect.title = Show my Respect
Como a primeira parte é variável, não quero que a palavra respect seja alterada. Apenas aquele após o =
Além disso, se possível, quero verificar se a palavra que quero alterar está com Capital ou não, para que eu possa alterá-la de acordo.
Editar:
Esteban Eu tentei o seu script, mas ele cria o arquivo com $ {var no início de cada linha.
Para os outros caras que estão perguntando o que eu quero substituir:
Temos arquivos enormes com variáveis de string = seu texto . Por exemplo:
admin.help_text = help
admin.Help_text = Help
home.faq_title = FAQ
...
Esses arquivos contêm mais de 15.000 variáveis e seus valores. Às vezes, precisamos alterar uma palavra para diferente , por exemplo:
**help** to **guidance**
**Help** to **Guidance**
**helper** to **guide**
**Helper** to **Guide**
O que precisamos:
-
Script que verifica um arquivo para: palavra1 , palavra2 , palavra3 e palavra4 .
-
Se a palavra existir na linha para copiar essa linha em um arquivo separado.
-
Após tudo ser feito para executar encontrar e substituir word1, word2 e etc. no novo arquivo.
Por exemplo, temos o arquivo (file1.txt) com todas as variáveis e seu conteúdo:
admin.help_text = help
admin.Help_text = Help
home.faq_title = FAQ
home.something.help = If you need help please send us email on...
Quando o script iniciar, ele verificará:
word1 = help
word2 = Help
E salva as linhas encontradas no arquivo2.txt
admin.help_text = help
admin.Help_text = Help
home.something.help = If you need help please send us email on...
Em seguida, o script verifica o arquivo2.txt e altera a ajuda para a orientação e a Ajuda para a Orientação
admin.help_text = guidance
admin.Help_text = Guidance
home.something.help = If you need guidance please send us email on...