【发布时间】:2017-09-14 05:14:51
【问题描述】:
我需要 sed 或 awk 命令在 bash 中的多行匹配后打印一行。例如将此文件作为输入:
admin:
users:
- user1
- user2
read_only:
users:
- user3
write_only:
users:
- user4
access_only:
users:
- user5
- user6
..我需要将其作为输出:
admin:
users:
NEW USER
- user1
- user2
read_only:
users:
- user3
write_only:
users:
- user4
access_only:
users:
- user5
- user6
正则表达式应匹配前两行admin: users:,然后附加NEW USER 行。
如何做到这一点?我应该使用 sed 还是 awk?如何? 谢谢
【问题讨论】:
-
请提供更多信息,包括示例输入和预期输出,以便我们清楚地为您提供帮助。
-
如果您正在查看
sed/awk,那么您为什么还要将其标记为linux、perl、bash? -
@RavinderSingh13 更新更清晰! :)
-
@Sobrique 因为我知道这也可以用 awk 和 perl 正则表达式来完成。
-
这是问题的错误解决方案——它是上下文语法,而正则表达式不这样做。