パターンマッチングと比較

パターンマッチングと比較

次の文を含むファイルがあります。

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

または3行目が必要な場合は、sed -n '$p'に変更してくださいsed -n '3p'$p「最後の行の印刷」を意味し、3p「3行目の印刷」を意味します。

文字列を含む最初の行を見つけるには、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

これは次のようになります。前の質問に対する私の答え

関連情報