Eu tento descomentar linhas específicas de um arquivo com padrões no Oracle Linux 8.6 usando o bash. Há espaços em branco à esquerda em certas linhas onde os comentários não são removidos. Eu tentei descomentar as linhas comentadas com sed e grep para corresponder aos padrões. Eu preciso corresponder exatamente a dois números da saída. Há uma palavra por coluna (total de 2 colunas) no arquivo, cada uma com números.
Exemplo: coluna1:pd 19 _ORA coluna2:svg 38 .
Preciso descomentar linhas no local com correspondência exata de 19 e 38 sem 190, 1900 ou 019 etc. excluindo linhas como,
#pd19_ORA svg37
#pd199_ORA svg388
Código:
sed -n '/\<19\>/,+1p' cmfile|grep '38'|sed -i '/38/s/^#//g' cmfile
Conteúdo do arquivo:
#pd19_ORA svg38
#pd19_ORA sil38
#pd29_ORA sil37
A primeira linha ainda é comentada após usar sed com inplace, mas o comentário da segunda linha é removido.
Saída:
#pd19_ORA svg38
pd19_ORA sil38
#pd29_ORA sil37
Como remover o comentário da primeira linha que tem espaços em branco sem remover o espaço inicial?
Saída esperada:
pd19_ORA svg38
pd19_ORA sil38
#pd29_ORA sil37