grepが何かを返すかどうかを確認する1つのライナー? [コピー]

grepが何かを返すかどうかを確認する1つのライナー? [コピー]

デバイスがThinkPadであるか、次のものを使用していないことを確認します。

sudo dmidecode | grep ThinkPad

最終結果がtrueまたはfalse(または1/0)を返すことを望みます。

私の考えの解決策は次のとおりです。

sudo dmidecode | grep -c ThinkPad | test xargs -gt 0

xargsしかし、ここでは正しく使用する方法がわかりません。

ベストアンサー1

後に終了ステータスチェックを追加すると、デフォルトではgrep常にパイプラインの最後のコマンドから終了ステータスが取得されます。

sudo dmidecode | grep -q ThinkPad; echo $?

終了状態にのみ関心があるため、出力-qを抑制するために使用されます。grep


必要に応じてコマンドのグループ化を使用できますが、ここでは少し冗長です。

sudo dmidecode | { grep -q ThinkPad; echo $? ;}

おすすめ記事