Linux shell的理解

时间:2013-02-15 06:18:03

标签: linux shell

我不知道这个脚本是如何工作的,以下命令是什么意思?

sed -n '/Domain Summary: Message Delivery/,/Domain Summary: Messages Received/p' test_mx1 | grep "yahoo.com"

以下

sed -n '/Domain Summary: Messages Received/,/Senders by message count/p' test_mx1 | grep "yahoo.com"

我无法理解这些命令。

2 个答案:

答案 0 :(得分:1)

脚本正在处理文件test_mx1-n的{​​{1}}选项表示“不打印每一行”(正常情况下)。

sed

这会查找包含'/Domain Summary: Message Delivery/,/Domain Summary: Messages Received/p' 的行,并从该行开始直到包含Domain Summary: Message Delivery的行打印出每一行。如果找到与第一行匹配的另一行,则会再次开始打印。

Domain Summary: Messages Received命令的输出随后会被sed过滤,因此只会打印包含grep(或任何字符yahoo.com的{​​{1}})的行

yahooXcom可以省略:

X

第二个例子几乎相同;模式是不同的,但除此之外,命令是相同的。

答案 1 :(得分:0)

sed正在为文件执行ranges by patterns,然后将sed的输出grep输出到grepyahoo.com正在打印具有{{1}}。

的字符串