手が滑ってみつけた便利コマンド(show run | section)

## 概要
Ciscoルータ #show run |(パイプ) section の表示結果を比較してみました。
あと、たまたま手が滑ってコマンドを見つけたのが嬉しかったので共有です。

## 前提
|(パイプ) とは...
#showコマンドの最後に追加することで、特定のキーワードを抜き出すことができます。

https://community.cisco.com/t5/tkb-%E3%83%8D%E3%83%83%E3%83%88%E3%83%AF%E3%83%BC%E3%82%AF%E3%82%A4%E3%83%B3%E3%83%95%E3%83%A9-%E3%83%89%E3%82%AD%E3%83%A5%E3%83%A1%E3%83%B3%E3%83%88/%E3%83%91%E3%82%A4%E3%83%97%E3%81%AE%E4%BD%BF%E7%94%A8%E6%96%B9%E6%B3%95/ta-p/3153528

今回は、行数が多くて確認が大変な#show runコマンドを| section (キーワード)で抜き出しました。

## 入力コマンドと抜き出される設定

|No　|入力コマンド|抜き出される設定|補足|
| ---- | ---- | ---- |---- |
|1|#sh run \| sec ip route|スタティックルート|-|
|2|#sh run \| sec router eigrp|特定のipプロトコル(eigrp)|router configモードでの設定|
|3|#sh run \| sec router ospf|特定のipプロトコル(ospf)|router configモードでの設定|
|4|#sh run \| sec router|すべてのipプロトコル|No.2 + No.3|
|5|#sh run \| sec ospf|特定のipプロトコル(ospf)|No.3 + IF configモードでの設定|
|6|#sh run \| sec access|アクセスリスト|-|
|7|#sh run \| sec list|アクセスリスト|No.6+適用有無|
|8|#sh run \| sec map|ルートマップ|route-map設定+適用有無|
|9|#sh run \| sec route|とりあえずルート情報|No.1 + No.4 + No.8|

#sh run | sec はフルスペルだと#show running-config | section～です。
section は s のみに短縮しても有効です。

## 比較
個人的な発見に★つけてます、気にしないでください。

No.1　想定通りな感じ
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/d4b2ce2b-677f-6505-1022-2a02be5c89bc.png)

No.2(上)/No.3(下)
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/cf54dfb0-4ff9-748b-a68d-077c17ba1e73.png)


No.4 = No.2 + No.3　個人的によく使う
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/77664ef2-132e-7d30-1779-10acdf118522.png)


No.5　IF configモードでプロトコルを有効化していても表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/34e5b730-cb65-add3-c504-991c8579ee4e.png)

No.3(上)とNo.5(下)の比較
"どこかの" IFでospfが設定されているらしいと分かる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/0509ecf0-6791-3525-0a6c-5deddc4982d1.png)


No.6　access-listまで入力しなくても表示される　★発見！
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/070cf76e-dbae-d20b-f0df-ca307ddbfe29.png)

No.7　"どこかに"適用されているらしいと分かる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/211aaac0-776c-631a-d192-e96446788286.png)

No.8　route-mapまで入力しなくても表示される
No.7と同様"どこかに"適用されているらしいと分かる
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/b9896103-7bd4-7f22-0370-578c8e7109aa.png)

No.9 = No.1 + No.4 + No.8　★発見！
つまり、スタティックルート + 設定されているipプロトコル + ルートマップが表示される
![image.png](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/122841/f6e2929b-c5bf-3571-0912-bdbbf289b74a.png)

:::note warn
IF configモードで設定されたipプロトコルは表示されないです
:::



## #show run
以下を設定して確認しました。
・static route
・eigrp
・ospf(router confgモード/IF configモード)
・access-list
・route-map(ospfに適用)

確認だけなので対向のルータは設定していません。
CML2やGNS3などでルータ1台を起動して、下の#show runをコピペすると試せると思います。
##
RA#show run
Building configuration...
!
interface Loopback0
 ip address 1.1.1.1 255.255.255.255
 ip ospf 1 area 0
!
interface GigabitEthernet0/0
 ip address 10.1.1.1 255.255.255.0
 duplex auto
 speed auto
 media-type rj45
!
router eigrp 100
 network 20.1.1.0 0.0.0.255
!
router ospf 1
 network 10.1.1.0 0.0.0.255 area 0
 distribute-list route-map MAP in
!
ip route 2.2.2.2 255.255.255.255 GigabitEthernet0/0
!
route-map MAP permit 10
 match ip address 1
!
!
access-list 1 permit 2.2.2.2
!
end


## 学んだこと
・| sectionは特定のキーワードを"含む"セクションを抜き出す
・行頭から抜き出す場合は | begin
　(#sh ip route | begin Gate めっちゃ便利)


## おまけ
手が滑って見つけたコマンドはNo.9 #sh run | sec routeです。
#sh run | sec router と入力しようとして手が滑って見つけました！