2017-03-27 82 views
0

我需要刪除/修改從HTML文件的Bash shell - 內標籤更改文本和刪除標記內

一些內容,從這一個我需要刪除一切,從div標籤,直到的beggining全部內容/ DIV結束

<div id="footer" role="contentinfo"> 
 
    <section class="footer-body"> 
 
     <p>Document generated by Confluence on 2017/03/27 09:41</p> 
 
      <div id="footer-logo"> 
 
       <a href="http://www.atlassian.com/">Atlassian</a></div> 
 
    </section> 
 
      </div>

在這裏,我需要改變的作者和編輯的姓名

Created by <span class='author'>John Smith</span>, last modified by <span class='editor'> John Smith</span> on 2017/03/24

我知道我需要用sed,但我不知道如何創建所述表述

+1

在第一個樣品輸入你有兩個嵌套的div標籤。你需要刪除哪一個?嵌套有多深?兩個嵌套的div標籤是最大的嗎?在這一點上,這種解讀是誤導性的。什麼強迫你使用sed?如果不是合適的XML/HTML解析器,幾個註釋將推薦使用至少awk。你也可能會發現評論詢問你試過的東西,錯過了你已經完成了某些sed手動閱讀和一些簡單實驗的印象。有一些關於如何提出一個好問題的幫助。 – Yunnosch

+0

例如這裏:http://stackoverflow.com/help/how-to-ask – Yunnosch

回答

0

關於到第一挑戰請更具體。

這是第二個挑戰sed腳本:

source="Created by <span class='author'>John Smith</span>, last modified by <span class='editor'> John Smith</span> on 2017/03/24" 
author="new author" 
editor="new editor" 
result=`echo "$source" | sed "s/\(.*author'>\).*\(<\/span>,.*editor'>\).*\(<\/span.*\)/\1$author\2$editor\3/"` 

echo $result