msoliver
(usa Debian)
Enviado em 17/11/2021 - 02:34h
jorgessn escreveu:
Oliver,
Se eu usar o comando puro funciona:
$Comando=`sed -i "/^${userDelete}$/d;" /home/users`;
Porém se colocar a regra pra apagar apenas da linha 15 pra baixo ai nao funciona mais,
e ainda troca a senha do root pra do usuario apagado finan:
$Comando=`sudo -u root awk 'NR>15 && /$userDelete/{c++;if(c=1) cmd="sed -i "/^${userDelete}$/d;\" /home/users";system(cmd);exit}' /home/users`;
Obrigado Oliver a ajuda!
Jorge,
o arquivo postado, contando as linhas vazias, tem 15 linhas,
Usar o comando awk que considera
linha > 15,
Não tem lógica!
O "
AWK" original, considera o número da linha, para endereçamento no comando "sed"
O que está tentando usar:
$Comando=`sudo -u root awk 'NR>15 && /$userDelete/{c++;if(c=1) cmd="sed -i "/^${userDelete}$/d;\" /home/users";system(cmd);exit}' /home/users`;
Usa a variável no sed para apagar a linha......,
logo, apaga tudo que casa com a var.....
---------------------------------------------------------
ainda troca a senha do root pra do usuario apagado finan:
Muito estranho trocar a senha se o comando é para apagar a linha......
______________________________________________________________________
Importante:
lynx --dump
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
______________________________________________________________________