包含換行符的文字處理 - Linux

Lily avatar
By Lily
at 2016-02-29T21:04

Table of Contents


我想把某 html 的 javascript 都切掉,
用 perl 寫就是 ` $html =~ s#<script(.|\n)*?</script>##g ; `
我想知道有沒有單行的寫法。

`perl -pe` 會變成逐行處理,
而 sed 和 awk 又只有處理單行內的比較方便。
sed 還沒有貪婪模式……。

我用的方法:

$ tr '\n' '\0' < foo.html | perl -pe '...' | tr '\0' '\n'


--
因為她不知道,唯一值得她流淚的人,絕不會讓她流淚。

--
Tags: Linux

All Comments

Rachel avatar
By Rachel
at 2016-03-04T16:29
perl -0777 -p -e 's{<script>(.*?)</script>}{}gs;'
Una avatar
By Una
at 2016-03-06T08:40
javascript這種一般性程式,用regex無法100%正確處理,絕大
多數情況OK,就看會不會遇到例外
Ina avatar
By Ina
at 2016-03-07T07:41
樓上是遇到 var endTag = '</script>'; 嗎 XD
Olivia avatar
By Olivia
at 2016-03-11T17:24
碰到樓上那種寫法,regex 應該就爆了吧 XD
Barb Cronin avatar
By Barb Cronin
at 2016-03-12T23:26
除了字串之外,被註解掉的</script>也是例外之一
Steve avatar
By Steve
at 2016-03-17T22:53
應該說是html的結構造成的結果,用XML或DOM處理可能會較容易

請問at可以找到之前輸入的內容嗎?

Quintina avatar
By Quintina
at 2016-02-29T19:06
通常我都是先把指令打好再一次從pietty貼上給at去執行,也有時我是在本機前面, 或是只是臨時狀況只要執行一次,以後不會用到,我就直接打到at裡面, 不過現在我從mail只能看到結果,如果我忘記當時的指令了,請問有辦法 知道原本我輸入的內容嗎? -- 因為「其實呢,這場戰爭結束後,我就要回老家結婚了。」 ...

安裝tar.gz

Caroline avatar
By Caroline
at 2016-02-29T16:34
我下載了 bluegriffon 軟體 解壓縮後進資料裡 輸入了./configure 他回應 bash: ./configure: 沒有此一檔案或目錄 後來改輸入 ./bluegriffon 那個程式正常起動了 但後來輸入make 他回應 make: *** No targets specified and ...

GLibC被發現有漏洞

Ethan avatar
By Ethan
at 2016-02-28T00:30
原文出處: http://arstechnica.com/security/2016/02/ extremely-severe-bug-leaves-dizzying-number-of-apps-and-devices-vulnerable/ v2.9以後的GLibC內的getaddrinfo()有buf ...

請推薦「超初階使用者」的Linux

Isla avatar
By Isla
at 2016-02-27T23:28
一直以來都是 Linux Mint 的愛好者 因為它幾乎什麼都幫你搞好了 就像手機一樣 你只需安裝你要的App 其他幾乎開箱就可以用了 不用為了撥打一通電話 還要上網Google一堆論壇 然後打指令 然後安裝 然後才可以打出這支新手機的第一通電話 當然做研究是有它的樂趣跟成就感在啦 不可否認 但對某些( ...

酷音卡字 ?

Freda avatar
By Freda
at 2016-02-25T15:56
想問一下我在用新酷音時常常會遇到一個問題 比如說有選詞的話,常常會想換地方補字的話 不管游標移到哪裡都會從選詞點跑出補進去的字 或是有時候兩個字綁在一起選,還有游標常常 不知道跑哪去,看到的跟實際打進去的不是同一 個地方 以上我都得靠連續切換輸入法才能解決,想問 有沒有人知道原因,我改了設定好幾次還是找 ...