クライアントにOIDがインストールされているかどうかにかかわらず、snmp応答を同じ方法で処理するbashスクリプトを作成しようとしています。
お客様は次のような対応を受けることができます。
SNMPv2-SMI::mib-2.47.1.1.1.1.13.1062 STRING: "GLC-SX-MMD "
iso.3.6.1.2.1.47.1.1.1.1.13.1062 STRING: "GLC-SX-MMD "
私はID番号の最後の部分である1062を取得したいと思います。この応答は47.1.1.1.1.13(ID番号)を共有します。
クライアントの初期応答に関係なく、ID番号のみを印刷するようにテキストをどのように処理しますか?
ベストアンサー1
たとえば、数字とドットの後の数字を除くすべての項目を削除できます。
sed -e 's/.*[0-9.]*\.\([0-9]*\).*/\1/'
説明する:
.* anything
[0-9.]* digits and dots in any order
\. dot
\( start a matching group
[0-9]* digits
\) end the matching group
.* anything
一致するすべての文字列は、一致するグループ、つまり数字と点の後の最後の数字に置き換えられます。