簡體   English   中英

了解sed / awk ^和[]

[英]Understanding sed/awk ^ , and [ ]

首先,是否有比使用sed和awk更好的命令行Linux處理從wget下載的HTML頁面中的文本的方法? 如果是這樣,請告訴我或鏈接到doc。

其次,我對以下表達式感到困惑...因為^從新行的開頭開始搜索,為什么空白gsub(/[^az]]*/, " ")替換非字母字符,逗號是什么,在這里嗎? 為什么在此表達式中有不匹配的]

對於HTML的處理,您需要描述要處理的內容。

^字符不在字符類中時,它可以用作“行的開始”,並且可以指示行的開始(例如,如果正則表達式為/^[^az]/ )。 當它在字符類內(括在方括號[] )並且是第一個字符時,則它是一個元字符,表示“除以下字符外的任何字符”。

gsub函數是全局搜索和替換操作:

gsub(/[^a-z]]*/, " ")

意思是“用z代替任何不在az中的內容,然后用零個或多個接近的方括號替換為空白(雙引號中的字符串" " )。 逗號是參數分隔符,用於將正則表達式參數與替換字符串參數分隔開。 正則表達式中的第二個方括號令人驚訝; 這很容易是一個錯誤。

因為gsub函數沒有第三個參數,所以它將在當前輸入行$0上操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM