在模式-unix-AIX之间提取文本

在模式-unix-AIX之间提取文本,unix,sed,aix,Unix,Sed,Aix,我想在两种模式之间提取文本。我使用的命令在AIX上不起作用,但在linux上起作用 首先,我在文件中查找一个模式的出现,我有这个 sed -n "/STEP 005450/p" step_100 STEP 005450 ***ACTIVATED*** Thu Oct 5 17:31:05 CEST 2017 STEP 005450 REF R-A493 STEP 000010 ( command -s <CONTAINER> ) STEP 005450 ***FAILURE***

我想在两种模式之间提取文本。我使用的命令在AIX上不起作用,但在linux上起作用

首先,我在文件中查找一个模式的出现,我有这个

sed -n "/STEP 005450/p" step_100
STEP 005450 ***ACTIVATED*** Thu Oct  5 17:31:05 CEST 2017
STEP 005450 REF R-A493 STEP 000010 ( command  -s <CONTAINER> )
STEP 005450 ***FAILURE*** Thu Oct  5 17:31:05 CEST 2017 Return code : 2
STEP 005450 ***ACTIVATED*** Thu Oct  5 17:33:54 CEST 2017
STEP 005450 REF R-A493 STEP 000010 ( command -s CONT1 )
STEP 005450 ***SUCCESFUL*** Thu Oct  5 17:33:55 CEST 2017
STEP 005450 ***ACTIVATED*** Thu Oct  5 17:31:05 CEST 2017
STEP 005450 REF R-A493 STEP 000010 ( command  -s <CONTAINER> )
STEP 005450 ***FAILURE*** Thu Oct  5 17:31:05 CEST 2017 Return code : 2
通常,我应该吃这个

sed -n "/STEP 005450/p" step_100
STEP 005450 ***ACTIVATED*** Thu Oct  5 17:31:05 CEST 2017
STEP 005450 REF R-A493 STEP 000010 ( command  -s <CONTAINER> )
STEP 005450 ***FAILURE*** Thu Oct  5 17:31:05 CEST 2017 Return code : 2
STEP 005450 ***ACTIVATED*** Thu Oct  5 17:33:54 CEST 2017
STEP 005450 REF R-A493 STEP 000010 ( command -s CONT1 )
STEP 005450 ***SUCCESFUL*** Thu Oct  5 17:33:55 CEST 2017
STEP 005450 ***ACTIVATED*** Thu Oct  5 17:31:05 CEST 2017
STEP 005450 REF R-A493 STEP 000010 ( command  -s <CONTAINER> )
STEP 005450 ***FAILURE*** Thu Oct  5 17:31:05 CEST 2017 Return code : 2
步骤005450***已激活***2017年10月5日星期四17:31:05 CEST
步骤005450参考R-A493步骤000010(命令-s)
步骤005450***失败***10月5日星期四17:31:05 CEST 2017返回代码:2

感谢您的教程帮助

也许这也适用于AIX sed:

| sed -n "/ACTIVATED/,/FAILURE/{ /ACTIVATED/{h;b}; H; /FAILURE/{g;p}; }"
或作为一个命令:

sed -n '/STEP 005450/{ /ACTIVATED/,/FAILURE/{ /ACTIVATED/{h;b}; H; /FAILURE/{g;p}; }; }' file
输出:

STEP 005450 ***ACTIVATED*** Thu Oct 5 17:31:05 CEST 2017 STEP 005450 REF R-A493 STEP 000010 ( command -s ) STEP 005450 ***FAILURE*** Thu Oct 5 17:31:05 CEST 2017 Return code : 2 步骤005450***已激活***2017年10月5日星期四17:31:05 CEST 步骤005450参考R-A493步骤000010(命令-s) 步骤005450***失败***10月5日星期四17:31:05 CEST 2017返回代码:2
它不工作:/。它返回以下错误:sed:label/ACTIVATED/,/FAILURE/{/ACTIVATED/{h;b};h;/FAILURE/{g;p};}大于8个字符。太糟糕了。值得一试/ACTIVATED/{;h;b;}一些SED对解析方式非常挑剔,AIX在很多方面都很挑剔;-)。Good luck.GNU sed不会按照您的状态提供所需的输出。可能你有一个复制粘贴错误。我已经手动发送了命令。你的问题目前还不清楚。请遵守