다음 문장이 포함된 파일이 있습니다.
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
이는 다음과 유사합니다.이전 질문에 대한 내 답변.