Selecionando a última linha do arquivo e comparando-a com a string 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
Ou, se você quiser a terceira linha, altere sed -n '$p'
para sed -n '3p'
. $p
significa "imprimir a última linha", enquanto 3p
significa "imprimir a terceira linha".
Se você deseja que a primeira linha encontrada contenha a string Holiday
, não importa onde esteja no arquivo, use sed -n '/Holiday/{p;q;}'
. A expressão /Holiday/{p;q;}
significa imprimir a linha que corresponde ao padrão Holiday
e, em seguida, sair.
Usando grep
conforme solicitado nos comentários:
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
Isso é semelhante a minha resposta à sua pergunta anterior .