2016-12-28 49 views
0

我陷入了另一个通过shell脚本在两个标签之间读取文本的问题。该文件是阅读并打印两个标签之间的线

**# Enter IP Details, File Name of Machine here. 
[SERVER] 
TESTTAM 
[/SERVER] 

[SCRIPTNAME] 
hdw.sh 
[/SCRIPTNAME]** 

和许多这样的标签。任何人都可以通过点亮如何阅读标签[SERVER][/ SERVER]之间的线并存储在文件中。稍后我会用其他脚本读取这个输出文件。

我也想为其他标签做同样的事情。

回答

0

使用GNU sed,匹配模式并打印没有标题的唯一行。

sed -n "/\[SERVER\]/,/\[\/SERVER\]/p" file | sed '1d;$d' 
TESTTAM 

(和)

sed -n "/\[SCRIPTNAME\]/,/\[\/SCRIPTNAME\]/p" file | sed '1d;$d' 
hdw.sh 
+0

由这样的作品真的good..Thanks Inian ......,我删除了文件中的SED操作之后创建的最后一个空行。 – Ram

+0

这工作真的很好..感谢Inian ...顺便说一句,我如何删除文件中sed操作后创建的最后一个空行。 – Ram

+0

@Ram:它不是为我生成一个空行,它是如何存在的? – Inian