grepは出力で特定の文字列を探します。

grepは出力で特定の文字列を探します。

以下の出力でgrepを実行し、無効な文字列を印刷したいと思います。

$ grep "s_icsmstatus" $CONTEXT_FILE
<oa_service_status oa_var="s_icsmstatus">disabled</oa_service_status>

私は次のようなものを使用できます

$ grep "s_icsmstatus" $CONTEXT_FILE | awk -F ">" '{print $(NF-1)}' | awk -F "</" '{print $(NF-1)}'
disabled

しかし、これを行う他の簡単で直接的な方法はありますか?

ベストアンサー1

使用grep -o:

grep "s_icsmstatus" $CONTEXT_FILE | grep -o 'disabled' 

-oo一致する行全体ではなく、提供されたパターンと正確に一致する項目のみが出力として提供されます。

おすすめ記事