En mi script bash, estoy tratando de imprimir una línea si una determinada cadena no existe en un archivo.
if grep -q "$user2" /etc/passwd; then
echo "User does exist!!"
Así es como lo escribí si quería que la cadena existiera en el archivo, pero ¿cómo puedo cambiar esto para que imprima "el usuario no existe" si el usuario no se encuentra en el archivo / etc / passwd?
if ! grep ...
declaración negativa no funcionó. Entonces esta es una alternativa.Lo resuelvo con un simple revestimiento:
El comando verificará todos los archivos en el directorio con la extensión txt y escribirá la cadena de búsqueda (es decir, "tareas:") si se encuentra o el nombre del archivo.
fuente
Puede usar la opción grep "-L / --files-without-match" , para verificar si el archivo no contiene una cadena:
fuente