SED删除字符串之前的所有内容

4

我有一封普通的邮件,需要删除客户活动概要过去24小时之前的所有内容,我认为最好使用sed。

我搜索了互联网,但只找到了类似于分隔符之类的内容。

你有什么想法吗?

邮件的部分内容:

...(Personal Part of the Email)...
...
The following clients have no associated schedule
NodeDomainContact
-KABA-FILESYSTEM-
-USTICA-FILESYSTEM-

Summary of client activity for the last 24 hours
DomainNodenamePlatformTypeActivityData amountElapse timeAffectedFailedMedia     wait
-FILESYSTEM-ABSYNTHE-Linux x86-64-XFS-
BACKUP-
337.5 MB-
00:00-
60-
0-
0
...

期望输出:

Summary of client activity for the last 24 hours
DomainNodenamePlatformTypeActivityData amountElapse timeAffectedFailedMedia     wait
-FILESYSTEM-ABSYNTHE-Linux x86-64-XFS-
BACKUP-
337.5 MB-
00:00-
60-
0-
0
...

4
请将文本从英语翻译成中文。仅返回翻译后的文本:请在您的问题中添加示例输入和您期望的输出。 - Cyrus
2个回答

5

使用 awk:

awk '/Summary of client activity for the last 24 hours/{p=1}p' file

或者使用sed:
sed -n '/Summary of client activity for the last 24 hours/,$p' file

使用awk测试您的电子邮件示例(上面的sed命令具有相同的输出):

kent$  cat f
...(Personal Part of the Email)...
...
The following clients have no associated schedule
NodeDomainContact
-KABA-FILESYSTEM-
-USTICA-FILESYSTEM-

Summary of client activity for the last 24 hours
DomainNodenamePlatformTypeActivityData amountElapse timeAffectedFailedMedia     wait
-FILESYSTEM-ABSYNTHE-Linux x86-64-XFS-
BACKUP-
337.5 MB-
00:00-
60-
0-
0
...

kent$  awk '/Summary of client activity for the last 24 hours/{p=1}p' f
Summary of client activity for the last 24 hours
DomainNodenamePlatformTypeActivityData amountElapse timeAffectedFailedMedia     wait
-FILESYSTEM-ABSYNTHE-Linux x86-64-XFS-
BACKUP-
337.5 MB-
00:00-
60-
0-
0
..

@Damon 很有趣,我在这里再次测试了一下sed,它可以工作.. :-( sed (GNU sed) 4.2.2 - Kent
4.2.1,可能是我做错了什么,但它能工作,这才是最重要的。 - Damon

0

你可以使用sed地址范围来避免打印从第一行到模式匹配的所有行,如下:

$ sed -n '1, /Summary of client activity for the last 24 hours/!p;
DomainNodenamePlatformTypeActivityData amountElapse timeAffectedFailedMedia     wait
-FILESYSTEM-ABSYNTHE-Linux x86-64-XFS-
BACKUP-
337.5 MB-
00:00-
60-
0-
0
...

如果要同时包含 Summary... 行,

$ sed -n '1, /Summary of client activity for the last 24 hours/!p; /Summary of client activity for the last 24 hours/p' test
Summary of client activity for the last 24 hours
DomainNodenamePlatformTypeActivityData amountElapse timeAffectedFailedMedia     wait
-FILESYSTEM-ABSYNTHE-Linux x86-64-XFS-
BACKUP-
337.5 MB-
00:00-
60-
0-
0
...

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接