【发布时间】:2018-06-02 23:53:00
【问题描述】:
我想在两个模式之间提取文本。我使用的命令在 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***和STEP 005450 ***FAILURE***之间的部分文本,但是下面的命令不起作用,什么也不做。
sed -n "/STEP 005450/p" step_100 | sed -n "/STEP 005450/,/FAILURE/p"
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
感谢旅游帮助
【问题讨论】:
-
GNU sed 没有像您所说的那样提供您想要的输出。可能你那里有一个复制粘贴错误
-
我已经手动发短信了
-
您的问题目前尚不清楚。请遵守MCVE principle