-2

現在、監査目的で cisco 構成からレポートを生成するスクリプトを作成しています。「grep」コマンドを使用して、グローバル構成を正常にキャプチャできました。

しかし、課題はインターフェイスごとに行うことです。たとえば、どのインターフェイスに「no ip redirects」、「no ip unreachables」などの行があるか知りたいのですが、bash でこれを達成するにはどうすればよいですか?

前もって感謝します!

4

1 に答える 1

0

これは では簡単に実行できませんがgrep、次のようにawk処理します。

cat file
!
interface GigabitEthernet0/13
 description Server_32_main
 spanning-tree portfast
 no ip redirects
!
interface GigabitEthernet0/14
 description Server_32_log
 switchport access vlan 666
 spanning-tree portfast
!
interface GigabitEthernet0/15
 description UPS_20
 spanning-tree portfast
!

ご覧のとおり、各グループは で区切られて!いるので、それを使用して各レコードを区切ります。
インターフェイス名のみを取得するには、次のようにします。

awk -v RS="!" -F"\n" '/no ip redirects/ {print $2}' file
interface GigabitEthernet0/13

インターフェイス構成を取得するには、次のようにします。

awk -v RS="!" '/no ip redirects/' file

interface GigabitEthernet0/13
 description Server_32_main
 spanning-tree portfast
 no ip redirects

一度に複数のパターンを取得するには:

awk -v RS="!" '/no ip redirects/ || /no ip unreachables/' file
于 2014-11-13T07:24:29.633 に答える