sed removendo string ignorando espaço.

1. sed removendo string ignorando espaço.

Jorge Santos
jorgessn

(usa Ubuntu)

Enviado em 25/09/2021 - 19:22h

Boa noite, tenho esse comando doado por nosso colega Oliver, problema que ele pega a string na variavel $userDelete e ignora os espaços, por exemplo:
Tenho o usuario financeiro e o usuário finan, quando executo o comando com a variavel contendo a string finan pra apagar o usuário finan do arquivo txt, ele mantem o usuário finan e apaga o usuário financeiro por conter finan na string. Eu queria que ele lê-se a string até o próximo caracter espaço.
Segue o comando com erro:
$Comando=`sudo -u root awk 'NR>15 && /$userDelete/{c++;if(c=1) cmd="sed -i \""NR",+d;\" /users.txt";system(cmd);exit}' /users.txt`;
Agradeço a ajuda desde já!


  


2. Re: sed removendo string ignorando espaço.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 25/09/2021 - 19:50h

jorgessn escreveu:

Boa noite, tenho esse comando doado por nosso colega Oliver, problema que ele pega a string na variavel $userDelete e ignora os espaços, por exemplo:
Tenho o usuario financeiro e o usuário finan, quando executo o comando com a variavel contendo a string finan pra apagar o usuário finan do arquivo txt, ele mantem o usuário finan e apaga o usuário financeiro por conter finan na string. Eu queria que ele lê-se a string até o próximo caracter espaço.
Segue o comando com erro:
$Comando=`sudo -u root awk 'NR>15 && /$userDelete/{c++;if(c=1) cmd="sed -i \""NR",+d;\" /users.txt";system(cmd);exit}' /users.txt`;
Agradeço a ajuda desde já!

-------------------------------------------------------------------------------------------------------
Boa noite Jorge.
Só usar o "delimitador de borda",
Para tanto, use o gawk.
Ou pode usar "um padrão" do próprio arquivo.....
Poste um trecho do "users.txt".
-------------------------------------------------------------------------------------------------------
Em tempo,
Não é o comando que tem ERRO!
Na ocasião não fui comunicado sobre nome de usuário 'semelhante'.
______________________________________________________________________
Importante:
wget -qO- https://www.vivaolinux.com.br/termos-de-uso/|sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________



3. sed removendo string ignorando espaço.

Jorge Santos
jorgessn

(usa Ubuntu)

Enviado em 25/09/2021 - 21:41h


Obrigado Oliver, sempre vc... Segue o arquivo users.txt

# Allow access
root
admin







contabilidade
rh
contabilidade
escoladocecanto
finan


4. Re: sed removendo string ignorando espaço.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 25/09/2021 - 23:31h

jorgessn escreveu:


Obrigado Oliver, sempre vc... Segue o arquivo users.txt

# Allow access
root
admin
contabilidade
rh
contabilidade
escoladocecanto
finan

Explica o que quer excluir, quais as regras....
Acredito que o comando:
awk 'NR>15 && /$userDelete/{c++;if(c=1) cmd="sed -i \""NR",+d;\" /users.txt";system(cmd);exit}' /users.txt
não é cabível para esta situação.....
O comando acima, considera a partir da linha "15 && /$userDelete/"
Visto que, tem um usuário por linha, é bem fácil casar o padrão.....

______________________________________________________________________
Importante:
wget -qO- https://www.vivaolinux.com.br/termos-de-uso/|sed -nr '/^[ ]+Se/,/dou.$/p'
______________________________________________________________________
Nota de esclarecimento:
O comando: ACIMA, faz parte da minha assinatura.
Att.: Marcelo Oliver
______________________________________________________________________



5. Re: sed removendo string ignorando espaço.

Jorge Santos
jorgessn

(usa Ubuntu)

Enviado em 04/10/2021 - 14:44h

"
Em tempo,
Não é o comando que tem ERRO!
Na ocasião não fui comunicado sobre nome de usuário 'semelhante'."

Eu sei disso Oliver, seu comando nao tem erro, é perfeito! Eu só nao expliquei direito, eu sei disso. Eu vou pesquisar como usar o delimitador de borda no comando.Se puder me ajudar a aplicar nesse comando fico grato. Obrigado Oliver.


6. Re: sed removendo string ignorando espaço.

Marcelo Oliver
msoliver

(usa Debian)

Enviado em 04/10/2021 - 14:59h


jorgessn escreveu:

"
Em tempo,
Não é o comando que tem ERRO!
Na ocasião não fui comunicado sobre nome de usuário 'semelhante'."

Eu sei disso Oliver, seu comando nao tem erro, é perfeito! Eu só nao expliquei direito, eu sei disso. Eu vou pesquisar como usar o delimitador de borda no comando.Se puder me ajudar a aplicar nesse comando fico grato. Obrigado Oliver.


Como tem um usuário por linha,
Use:
sed -i "/^${userDelete}$/d;" users.txt



______________________________________________________________________
Importante: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p'
Att.: Marcelo Oliver
______________________________________________________________________
Nota de esclarecimento:
O comando: lynx --dump goo.gl/a9KeFc|sed -nr '/^[ ]+Se/,/dou.$/p',
faz parte da minha assinatura.
O qual, "filtra" a página: "https://www.vivaolinux.com.br/termos-de-uso/",
Mostrando o seguinte:

Se você sanou sua dúvida ou resolveu um problema a partir de um
tópico criado, é extremamente recomendável que acesse o tópico e
marque-o como "RESOLVIDO". E mais recomendável ainda que você eleja
como melhor resposta a que mais lhe ajudou.


______________________________________________________________________







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner
Linux banner

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts