Olá, estou tentando fazer uma substituição em um arquivo onde uma string é seguida por qualquer string aleatória usando sed. Meu arquivo original se parece com o abaixo.
access = read : [ * ], write : [ admin, sc_admin ]
access = read : [ * ], write : [ admin, myuser ]
access = read : [ * ], write : [ admin ]
access = read : [ * ], write : [ admin, randomuser ]
access = read : [ * ], write : [ admin, randomuser, somedude ]
access = read : [ * ], write : [ admin, justarandomuser, somedude, anotherdude ]
access = read : [ * ], write : [ admin, another_random_user ]
Eu preciso adicionar uma string chamada sc_admin após meu usuário aleatório que segue admin para que fique assim
access = read : [ * ], write : [ admin, sc_admin ]
access = read : [ * ], write : [ admin, myuser, sc_admin ]
access = read : [ * ], write : [ admin ]
access = read : [ * ], write : [ admin, randomuser, sc_admin ]
access = read : [ * ], write : [ admin, randomuser, somedude, sc_admin ]
access = read : [ * ], write : [ admin, justarandomuser, somedude, anotherdude, sc_admin ]
access = read : [ * ], write : [ admin, another_random_user, sc_admin ]
Estou tentando executar o seguinte comando sed, mas não está fazendo nada.
sed -r "s/\[\ admin\,\ \w+\ \]/\[\ admin\,\ \w+\,\ sc\_admin\ \]/g" local.meta
O que estou perdendo aqui?
Pule as linhas que já contêm
sc_admin
, e substitua apenas nas linhas que contêmadmin,
:Resultado:
Usando
sed
resultado