Это мой первый пост, так что я стараюсь сделать лучше объяснить, почему я отправляю этот ответ ...
- С первых 7 большинством голосовавших ответов, 4 включают GREP, даже когда в post явно говорит «использование только sed или awk».
- Даже если сообщение требует «Нет perl please», из-за предыдущей точки и потому, что используйте регулярное выражение PERL внутри grep.
- и потому, что это самый простой способ (насколько я знаю, и это было ), чтобы сделать это в BASH.
Итак, вот самый простой скрипт из GNU grep 2.28:
grep -Po 'href="\K.*?(?=")'
О переключателе \K
, не информация была основана в МАН и INFO страниц, поэтому я пришел here за ответ .... переключатель \K
изжить предыдущие символы (и сам ключ) , Имейте в виду, следуя советам на страницах руководства: «Это очень экспериментально, и grep -P может предупреждать о нереализованных функциях».
Конечно, вы можете изменить сценарий, чтобы удовлетворить ваши вкусы и потребности, но я нашел его довольно просто для того, что было предложено в этой должности, а также для многих из нас ...
Я надеюсь, что люди вы это очень полезно.
спасибо !!!
Прочтите это и просветите: http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags/1732454#1732454 –
Если вы не против, чтобы : * Нет никакой гарантии, что вы найдете все URL-адреса. * ** или ** * Нет гарантии, что все найденные вами URL-адреса действительны. * Используйте один из приведенных ниже примеров. Если вы решите использовать подходящий инструмент для задания (perl, python, ruby) – Nifle
Мой предыдущий комментарий - это конечно для любого * легкого * решения, которое вы можете попробовать. awk достаточно силен, чтобы выполнять эту работу, черт возьми, вы могли бы теоретически реализовать perl в awk ... – Nifle