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

Это решение может помочь:

tac file_name | grep -e expression
1
19.06.2014, 22:01
5 ответов
if grep -q 'password = "[^"]' filename; then
    echo "password exists"
else
    echo "no password"
fi
3
27.01.2020, 23:28

Через awk и grep,

awk -v var=$(grep -oP '(?<=^password = \")[^"]*' file) 'BEGIN{if (var=="") {print "There is no password"} else {print "There is a password"}}'

Вы должны запустить вышеуказанную команду awk в каталоге, где находится ваш входной файл.

0
27.01.2020, 23:28
c=$(grep -iE "password"  file.txt | cut -d "\"" -f2)

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

это хорошо? Вышло именно то, что я ожидал.

0
27.01.2020, 23:28

Я бы перевернул grep "password = "".

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

0
27.01.2020, 23:28

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

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

Теги

Похожие вопросы