No meu script bash, estou tentando imprimir uma linha se uma determinada string não existir em um arquivo.
if grep -q "$user2" /etc/passwd; then
echo "User does exist!!"
Foi assim que eu escrevi, se quisesse que a string existisse no arquivo, mas como posso alterar isso para torná-la impressa "o usuário não existe" se o usuário não for encontrado no arquivo / etc / passwd?
if ! grep ...
afirmação negativa não funcionou. Então essa é uma alternativa.Eu resolvo isso com um liner simples:
O comando verificará todos os arquivos no diretório com extensão txt e gravará a sequência de pesquisa (por exemplo, "task:") se for encontrada ou o nome do arquivo.
fonte
Você pode usar a opção grep "-L / --arquivos sem correspondência" , para verificar se o arquivo não contém uma sequência:
fonte