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

這樣好嗎?輸出正是我所期望的。

相關內容