msoliver
(usa Debian)
Enviado em 24/04/2023 - 21:21h
Minions escreveu:
msoliver escreveu:
Ex:
espaço espaço espaço espaço espaço espaço root ALL=(ALL:ALL) ALL
espaço espaço espaço espaço adminq ALL=(ALL:ALL) ALL
Uma forma de contornar a situação:
Agora se o usuário editar manualmente o arquivo e colocar vários espaços antes do nome. Vai quebrar o método 1 e método 2
1 - É alterar a regex.
grep -Eq "#\s{0,}${USER}\s+ALL.*ALL" arq.txt && echo COM_CMT || echo SEM_CMT
Será espaço ou tabulação?
$ grep -Eq "#\s{0,}${USER}\s+ALL.*ALL" arq.txt && echo COM_CMT || echo SEM_CMT
SEM_CMT
Mostra o aviso de SEM_CMT mas os espaços ainda fica não tem alteração no arquivo arq.txt
Será espaço ou tabulação?
Casa espaço e/ou tabulação, em qualquer quantidade "#\s{0,}"
Mostra o aviso de SEM_CMT mas os espaços ainda fica não tem alteração no arquivo arq.txt
O comando:
grep -Eq "#\s{0,}${USER}\s+ALL.*ALL" arq.txt && echo COM_CMT || echo SEM_CMT
NÃO Altera, só mostra a mensagem.
#---------------------------------------------------------------------------------------------------------------#
poste a saída de:
cat -A arq.txt
e,
grep --color -E "($USER)\s{1,}(ALL[=):( ]{0,}){3,4}$" arq.txt
OBS.:
NEGRITE o que saiu colorido.
______________________________________________________________________
Att.: Marcelo Oliver
______________________________________________________________________