我有这样的文件内容:
aaa accounting exec ...
aaa accounting exec ...
aaa accounting commands ..
aaa accounting commands ..
aaa accounting commands ..
aaa accounting commands ..
aaa accounting commands ..
aaa accounting commands ..
aaa accounting network ..
aaa accounting connection ..
aaa accounting system ..
!
aaa accounting exec default
action-type start-only
group tacacs+
!
aaa accounting exec default stop-only group tacacs+
输出应该是这样的:
aaa accounting exec default ..
aaa accounting exec default
action-type start-only
group tacacs+
!
aaa accounting exec default ..
我试过以下sed
命令:
sed -n '/aaa accounting exec default/,/!/p' AboveFileContent.txt
但这不是我想要的。
解决方案是什么?我也尝试过使用awk
但同样的结果即将到来。获得准确输出的命令是什么?
我会为此使用 awk:
传递模式,使用 awk 的
-v
选项,然后是模式匹配运算符~
:您正在尝试以以下形式构建数据:
您需要
sed
意识到缩进块很重要。一种粗略的方法可能是在中编写一个循环sed
:在一行中:
我猜可以使用
awk
,perl
或以更具可读性的方式完成。python