как я могу удалить ссылки из необработанного HTML-текста? Я получил:
Foo bar <a href="http://www.foo.com">blah</a> bar foo
и хочу получить:
Фу бар бла бар фу
после этого.
sed -re 's|<a [^>]*>([^<]*)</a>|\1|g'
Но ответ Брайана прав: это следует использовать только в очень простых случаях.
Вы хотите проанализировать HTML с помощью регулярных выражений, и это не будет работать во всех случаях, кроме простейших случаев , поскольку HTML не является регулярным. Гораздо более надежным решением является использование анализатора HTML. Существует множество различных языков.
$ 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'
попробуйте с:
sed -e 's/<a[^>]*>.*<\/a>//g' test.txt