grep para texto que puede estar presente o no

grep para texto que puede estar presente o no

Digamos que tengo un archivo

batman;
robin;
superman;
password = "";
wonderwoman
green lantern

si quiero verificar si hay un passwordpresente, es decir, si hay algo ingresado en el archivo "". aquí hay un ejemplo para eso

ironman;
hulk;
spiderman;
password = "tonyStark";
black widow
hawkeye

¿Cómo comprobaría si el archivo tiene una contraseña entre ""?

Esto es lo que tengo hasta ahora

x=$(grep -icE "password=\"[a-zA-Z0-9]\"" file.txt)
if [ x -gt 0 ]; then
  echo "There is a password"
fi

Respuesta1

if grep -q 'password = "[^"]' filename; then
    echo "password exists"
else
    echo "no password"
fi

Respuesta2

me gustaríagrep inverso"contraseña = """.

Si hay algo en la contraseña que no esté vacío, aparecerán el nombre del archivo y las líneas.

Respuesta3

Te perdiste los espacios en blanco. También niega la respuesta para hacerla más confiable.

x=$(grep -icE "password[ ]*=[ ]*\"\"" file.txt)
if [ $x -ne 1 ]; then
  echo "There is a password"
fi

Respuesta4

c=$(grep -iE "password"  file.txt | cut -d "\"" -f2)

if [ -z "$c" ]; then 
    echo "no password"
fi

es bueno eso ? El resultado es exactamente lo que esperaba.

información relacionada