如何从输出中消除未使用的行

如何从输出中消除未使用的行

我是脚本编写的新手,从我的脚本中获得了以下输出。

输出:

/opt/soft/was85qa/WebSphere/gct8apps_qa_node/config/cells/gct8apps_qa_cell/clusters/elmd_qa/variables.xml

如何消除下面的线条

/opt/soft/
/WebSphere/gct8apps_qa_node/config/cells/gct8apps_qa_cell/clusters/
/variables.xml

最终输出应如下所示

was85qa & elmd_qa

答案1

如果文本始终相同,您只需使用sed搜索和替换功能并对需要排除的内容进行硬编码:

echo $OUTPUT | sed -r 's#/opt/soft/([^\/]*)/WebSphere/gct8apps_qa_node/config/cells/gct8apps_qa_cell/clusters/([^\/]*)/variables.xml#\1 \& \2#'

您也可以使用cut,因为如果它始终相同,则您要查找的字符串始终位于相同的位置(--> 4 和 11)。

echo $OUTPUT | cut -d'/' -f 4,11 --output-delimiter=" & "

echo $OUTPUT可以直接在命令后面添加以管道符 ( ) 开头的部分|来运行脚本。

相关内容