1
我一直在研究如何從html中提取標題標籤。我很清楚,正則表達式和html不會混合,並且可以使用grep。然而,我發現here的代碼,如下所示:如何提取多個時間或條件的HTML標籤之間的文本
awk -vRS="</title>" '/<title>/{gsub(/.*<title>|\n+/,"");print;exit}'
現在,這部作品找到標題標籤之間的文本只有一次。我想知道如何讓它在每一行上都能運行。我可以做一個cat file; while read line; do ...; done
。但是,我知道這可能不是非常有效,因爲有更好的方法。
其次,在文件中我需要保留任何以字符串' - '開頭的行。我相信這需要awk
添加「或」語句,以便它將匹配的標題標籤,並開始與任何線「 - 」
輸入文件應該是這樣的:
text text text <title>random text of the title 1</title> random html stuff
--time--
xyz more random text <title>random text of the title 2</title> hmtl text
--time--
some text <title>random text of the title 3</title> more text tags
--time--
text here <title>random text of the title 4</title> random text html
--time--
期望輸出:
<title>random text of the title 1</title>
--time--
<title>random text of the title 2</title>
--time--
<title>random text of the title 3</title>
--time--
<title>random text of the title 4</title>
--time--
我對awk沒那麼好,但我在學習。我知道應該有一個打印所有的選項,但這是我真正堅持的OR語句。如果您認爲效率更高,我可以接受sed或grep。任何幫助或方向,不勝感激。
桑迪普嗨,對不起我的例子不夠詳細,但我想用我的虛擬文本和問題的標題解釋說,其他行是HTML文本,以便在代碼需要指定
@DomainsFeatured,'grep -o'
哇。有效。我不敢相信這很簡單。非常感謝。 – DomainsFeatured