2016-04-28 42 views
1

我是shell腳本編程新手。我通過python從郵件中提取了一些URL,但腳本解碼的URL被破壞了。所以我認爲是編寫一個代碼,以便我只能提取所需的URL。Shell extract broken URL's

以下是文件:

http://stackoverflow.com/questions/17988756/= 
how-to-select-lines-between-two-marker-patterns-which-may-occur-multiple-times-w 
. 
. 
.(some text) 
http://stackoverflow.com/questions/9605232/= 
merge-two-lines-into-one 
. 
. 
. 

所需的輸出是:

http://stackoverflow.com/questions/17988756/how-to-select-lines-between-two-marker-patterns-which-may-occur-multiple-times-w 
http://stackoverflow.com/questions/9605232/merge-two-lines-into-one 

在此先感謝。

+0

我試着寫一些代碼: – Ritzz

+0

而IFS =讀-r LINE 做 如果[[$行= 〜^ http://stackoverflow.com.*=]] then \t echo $ LINE >> broken_URL.txt \t回聲$ [LINE + 1] >> broken_URL.txt 音響 完成<文件 – Ritzz

+0

和將在後面用sed 'N; S/= \ n //' broken_url.txt> broken_new_url.txt – Ritzz

回答

2

使用此sed

sed ':loop; /^http:.*=$/{N;s/=\n//g; t loop}' file 

測試:

$ cat file 
(some text) 
http://stackoverflow.com/questions/9605232/= 
merge-two-lines= 
-into-one 
(some text) 

$ sed ':loop; /^http:.*=$/{N;s/=\n//; t loop}' file 
(some text) 
http://stackoverflow.com/questions/9605232/merge-two-lines-into-one 
(some text) 
+0

謝謝@sat它工作正常。 – Ritzz

+0

@ Ritzz,很高興爲你工作。如果這個答案有幫助,考慮通過點擊答案左側的勾號來接受它。 – sat