Solarisで1つの結果が出た後にgrepを停止する

Solarisで1つの結果が出た後にgrepを停止する

ログファイルから最新の値を返す必要があります。この値は常にログファイルの終わりにあることを知っており、結果は1つだけ必要です。

Ubuntuでは、以下を使用してこれをtac dhcp.log | grep macaddress -m 1行いましたtail -r dhcp.log | grep macaddress。ファイル全体を実行しないように、最初の結果の後にgrepを終了する方法はありますか?

答え1

GNUgrepをインストールした場合(たとえば、/usr/bin/ggrepSolaris /opt/gnu/bin/grep11、/opt/sfw/bin/ggrepSolaris 10)、このフラグがあります-m

代わりに、grep次のものを使用できます。sed

sed -n '/macaddress/{ p
q
}'

答え2

これは以下に基づく代替ソリューションですawk

tail -r file | nawk '/macaddress/ {print;exit}'

関連情報