패턴 매칭 및 비교

패턴 매칭 및 비교

다음 문장이 포함된 파일이 있습니다.

Today is a holiday
May I go tomorrow 
No Holiday

에서 찾아야 No Holiday하고 다른 문자열(예: )과 비교해야 합니다 grep "No Holiday"!="Holiday".

정확한 쿼리를 모르겠습니다. 나는 단지 필요한 논리를 제공할 뿐입니다.

답변1

파일의 마지막 줄을 선택하고 문자열과 비교합니다 Holiday.

holiday_line=$( sed -n '$p' file.txt )
if [ "$holiday_line" = 'Holiday' ]; then
   echo 'The holiday line says "Holiday"'
else
   echo 'The holiday line does not say just "Holiday"'
fi

또는 세 번째 행을 원하면 sed -n '$p'으로 변경하세요 sed -n '3p'. $p"마지막 줄 인쇄"를 의미하고 3p"세 번째 줄 인쇄"를 의미합니다.

문자열이 포함된 첫 번째 줄을 찾으려면 Holiday파일의 위치에 관계없이 패턴과 일치하는 줄을 인쇄 한 다음 종료한다는 의미 sed -n '/Holiday/{p;q;}'인 . 표현식을 사용하세요./Holiday/{p;q;}Holiday


grep댓글에서 요청한 대로 사용하세요.

if grep -q -wF 'No Holiday' file.txt; then
    echo 'The file contains the string "No Holiday"'
else
    echo '"No Holiday" was not found in the file'
fi

이는 다음과 유사합니다.이전 질문에 대한 내 답변.

관련 정보