
		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
 
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
______________________________________________________________________