Допустим, у меня есть файл
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
это хорошо? Результат именно такой, как я и ожидал.