Регулярное выражение для захвата ссылки в квадратных скобках
Мне нужно поднять ссылку на YouTube из текста, который выглядит следующим образом:
[YouTube= HTTP://www.youtube.com/v/qpbAe2HyzqA&hl=en&fs=1&]
Кто-нибудь может помочь?
2 ответа
Решение
Вы могли бы использовать awk.
awk ' FS="[" {print $(NF) } ' file_with_text > temp.txt
awk ' FS="]" {print $(NF-1)} ' temp.txt > results.txt
Он состоит из двух частей, чтобы сделать его более понятным, и потому что awk странный, как это. Если вам нужен только URL, а не youtube= first, вам нужно запустить awk с разделителем файлов, например, FS="youtube=". Также awk может быть странным с вводом; если file_with_text имеет текст в первой строке, он может вести себя странно, и если файл заканчивается разделителем файлов, который вы выбрали, awk может выдавать ошибку (просто добавьте любой текст, кроме символа FS, в конец файла).
Редактировать: Удалена функция кота. Кажется менее ясным как педагогический ответ, но это более кратко.