【问题标题】:Read and print Line between two tags读取和打印两个标签之间的线
【发布时间】:2016-12-28 16:34:41
【问题描述】:

我遇到了另一个问题,即通过 shell 脚本读取两个标签之间的文本。该文件是

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

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

和许多这样的标签。任何人都可以通过一些了解如何读取标签 [SERVER][/SERVER] 之间的行并将其存储在文件中。稍后我将使用其他脚本读取此输出文件。

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

【问题讨论】:

    标签: shell tags


    【解决方案1】:

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

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

    (和)

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

    【讨论】:

    • 效果很好..谢谢 Inian...顺便说一句,我确实删除了文件中 sed 操作后创建的最后一个空行。
    • 效果很好..谢谢 Inian...顺便说一句,如何删除文件中 sed 操作后创建的最后一个空行。
    • @Ram:它没有为我生成一个空行,它是如何存在的?
    • 我已经投票了,但它说我应该拥有超过 15 个声望,以便公开查看投票。顺便说一句,我尝试使用 cygwin 在 Windows 中运行命令。
    猜你喜欢
    • 2016-04-06
    • 1970-01-01
    • 2017-07-10
    • 2023-03-23
    • 2011-03-08
    • 1970-01-01
    • 2014-06-05
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多