假設我有一個文件
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
這樣好嗎?輸出正是我所期望的。