上面的正则表达式匹配行 (Perl)
Regex match line above (Perl)
我想编写一个简单的脚本,从 Cisco 配置中为我提供每个未使用(关闭)的端口。关闭的端口看起来总是一样的:
interface Ethernet100/1/40
shutdown
我可以使用哪个正则表达式来始终获取 'shutdown' 上方的行?
我想用 Perl 编写这个脚本,请帮助我。
打开多行选项并使用它:
^.+$(?=\s+shutdown)
这将匹配单词 shutdown
之前的行。
它基本上是在寻找一行任意字符 ^.+$
,寻找一些空格,然后是 shutdown
。
您也可以在 "interface" 之后通过在上面添加几个字母来匹配所有
^interface\s\K.*$(?=\s+shutdown)
我想编写一个简单的脚本,从 Cisco 配置中为我提供每个未使用(关闭)的端口。关闭的端口看起来总是一样的:
interface Ethernet100/1/40
shutdown
我可以使用哪个正则表达式来始终获取 'shutdown' 上方的行? 我想用 Perl 编写这个脚本,请帮助我。
打开多行选项并使用它:
^.+$(?=\s+shutdown)
这将匹配单词 shutdown
之前的行。
它基本上是在寻找一行任意字符 ^.+$
,寻找一些空格,然后是 shutdown
。
您也可以在 "interface" 之后通过在上面添加几个字母来匹配所有
^interface\s\K.*$(?=\s+shutdown)