존재할 수도 있고 존재하지 않을 수도 있는 텍스트에 대한 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

그거 괜찮아 ? 출력은 제가 예상했던 것과 정확히 같습니다.

관련 정보