Продолжаю изучать sed :)
подскажите пожалуйста, как можно в обрабатываемой строке удалить все, кроме вхождений регулярки?
Вообще задача такая, есть файл:
text1<A>link1<B> text2<A>link2<B>text3<A>link3<B>
text4<A>link4<B>
<links>
из которого требуется получить такое:
text1 text2text3
text4
link1
link2
link3
link4
по сути - собрать сноски и вывести их вместо строки <links>
на данный момент придумал только такое:
/\(<A>\)\(\([^<]\)*\)\(<B>)/{
H
x
{
/<A>\(\([^<]\)*\)<B>/{
s//\1/g
}
}
x
s///g
}
/<links>.*/{
x
p
x
}
Но работает не доконца как нужно..в конце выводит и текст и линк.
поэтому и возник у меня такой вопрос - как можно из строки удалить ВСЕ кроме вхождений части регулярного выражения (в моем варианте надо сохранить то, что находится между <A> и <B>)?
Ответ на:
комментарий
от Deleted
Ответ на:
комментарий
от n01r
Ответ на:
комментарий
от n01r
Ответ на:
комментарий
от elfrock
Ответ на:
комментарий
от n01r
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум sed удалить все кроме шаблона (2019)
- Форум Удалить все, кроме (2013)
- Форум sed удалить символ. (2009)
- Форум [sed]Удалить столбец (2009)
- Форум Как удалить весь текст кроме нужной строки используя sed? (2016)
- Форум sed удалить часть строки (2012)
- Форум sed удалить все кроме русских слов и пробелов между ними (2013)
- Форум Удалить все пакеты кроме базовых (2009)
- Форум как удалить файлы, кроме некоторых? (2007)
- Форум sed. Удалить все символы до : (2016)