テキストファイルから複数行を抽出する[閉じる]

テキストファイルから複数行を抽出する[閉じる]

源泉:

!
hostname RTR-1
!
boot-start-marker
boot-end-marker
!
logging buffered 64000 informational
no logging console
!
interface FastEthernet0/0
 description LAN
 ip address 172.16.29.250 255.255.255.0
 ip helper-address 172.18.1.130
 ip helper-address 172.18.1.127
 ip tcp adjust-mss 1350
 speed 100
 full-duplex
!
line vty 0 4
 exec-timeout 30 0
 transport input telnet ssh
 transport output telnet ssh
!
end

出力:

interface FastEthernet0/0
 ip helper-address 172.18.1.130
 ip helper-address 172.18.1.127

または:

!
hostname RTR-1
!
boot-start-marker
boot-end-marker
!
logging buffered 64000 informational
no logging console
!
interface Vlan1
 description LAN
 ip address 172.16.29.250 255.255.255.0
 ip helper-address 172.18.1.130
 ip helper-address 172.18.1.127
 ip tcp adjust-mss 1350
 speed 100
 full-duplex
!
line vty 0 4
 exec-timeout 30 0
 transport input telnet ssh
 transport output telnet ssh
!
end

出力:

interface Vlan1
 ip helper-address 172.18.1.130
 ip helper-address 172.18.1.127

設定コマンド「helper-address」のインタフェース名を抽出したいと思います。

上記のソース出力はファイルに保存することも、ライブルーターから直接抽出することもできます。

ベストアンサー1

grep "interface\|helper" source.file

仕事がとても難しいかどうかここで尋ねてください。

アップデート:OSに存在しない場合は、grep上記のスクリプトをshell-bultinsに置き換えることができます。

while read
do
  case "$REPLY" in
  *interface*) echo "$REPLY" ;;
  *helper*) echo "$REPLY" ;;
  esac
done < source.file

おすすめ記事