需要帮助来解释这个sed命令

时间:2010-02-04 19:33:52

标签: oracle sed

我正在查看Oracle script I found online,但它运行sed命令来过滤跟踪文件的结果。我在Windows服务器上运行Oracle,因此无法识别sed命令。

host sed -n '/scattered/s/.*p3=//p' &Trace_Name | sort -n | tail -1

我试过阅读online documentation,但我仍然不确定如何解释此命令试图过滤的内容。有人会非常友好地帮助我解释这个命令试图过滤的内容吗?或者更好的是,我可以从Windows命令提示符运行以获得相同的结果。

谢谢!

4 个答案:

答案 0 :(得分:5)

它说“在包含'散乱'的行上替换零或更多任何字符后跟'p3 ='没有任何东西(删除它,换句话说)并打印结果”(-n说'don'除非有明确的打印命令,否则打印行。

对于此示例输入:

abc organized p3=123
def scattered p3=456
ghi ordered p3=789

输出结果为:

456

答案 1 :(得分:2)

sed命令在文件中搜索与模式匹配的字符串。 “-n”选项将禁止未显式打印的输出。最后的“p”表示打印与前一个模式匹配的行。

sort -n进行数字排序。

tail -1仅打印最后一行。

因此,它似乎在搜索分散的磁盘读取并打印具有最大值的行。

我认为正则表达式模式正在消除包括“p3 =”在内的所有内容。 s / from / to /“是替代命令。

答案 2 :(得分:1)

sed命令适用于cygwin,这是一个类似于unix的shell。

答案 3 :(得分:1)

为解决问题的其他部分,unxutils项目将许多GNU实用程序移植到Win32,包括sedFind out more