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

这样好吗?输出正是我所期望的。

相关内容