Удалить ссылки из текстового файла - PullRequest
1 голос
/ 05 июля 2010

как я могу удалить ссылки из необработанного HTML-текста? Я получил:

Foo bar <a href="http://www.foo.com">blah</a> bar foo 

и хочу получить:

Фу бар бла бар фу

после этого.

Ответы [ 4 ]

2 голосов
/ 05 июля 2010
sed -re 's|<a [^>]*>([^<]*)</a>|\1|g'

Но ответ Брайана прав: это следует использовать только в очень простых случаях.

2 голосов
/ 05 июля 2010

Вы хотите проанализировать HTML с помощью регулярных выражений, и это не будет работать во всех случаях, кроме простейших случаев , поскольку HTML не является регулярным. Гораздо более надежным решением является использование анализатора HTML. Существует множество различных языков.

0 голосов
/ 05 июля 2010

$ echo 'Foo bar <a href="http://www.foo.com">blah</a> bar foo' | awk 'BEGIN{RS="</a>"}/<a href/{gsub(/<a href=\042.*\042>/,"")}1'

Фу бар бла бар фу

0 голосов
/ 05 июля 2010

попробуйте с:

sed -e 's/<a[^>]*>.*<\/a>//g' test.txt
...