假设我有一个文件
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
这样好吗?输出正是我所期望的。