grep для текста, который может присутствовать или отсутствовать

grep для текста, который может присутствовать или отсутствовать

Допустим, у меня есть файл

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

если я хочу проверить, есть ли passwordподарок, т.е. что-то введено в "". вот пример для этого

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

Как проверить, есть ли у файла пароль между ""?

Вот что у меня есть на данный момент

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

решение1

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

решение2

Я быобратный grep"пароль = """.

Если в пароле есть что-то, кроме пустого, будут выведены имя файла и строки.

решение3

Вы пропустили пробелы. Также отрицайте ответ, чтобы сделать его более надежным

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

решение4

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

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

это хорошо? Результат именно такой, как я и ожидал.

Связанный контент