У меня есть скрипт python, который вытягивает URL-адреса из файла pastebin.com/archive, который имеет ссылки на пасты (которые имеют 8 случайных цифр после pastbin.com в URL-адресе). Мой текущий вывод - это .txt с данными ниже, я хочу, чтобы ссылки на пасты присутствовали (пример: http://pastebin.com///Y5JhyKQT), а не ссылки на другие страницы, такие как pastebin.com/tools). Это значит, что я могу установить wget, чтобы вытащить каждую отдельную пасту.Извлечение строк со специальным числом символов
Единственный способ, которым я могу это сделать, - написать сценарий bash, чтобы подсчитать количество символов в каждой строке и только содержать строки с 30 символами (это длина URL-адресов, ссылающихся на пасты).
Я понятия не имею, как я буду реализовывать что-то подобное с помощью grep или awk, возможно, используя цикл while do? Любая помощь будет оценена!
http://pastebin.com///tools
http://pastebin.com//top.location.href
http://pastebin.com///trends
http://pastebin.com///Y5JhyKQT <<< I want to keep this
http://pastebin.com//=
http://pastebin.com///>
Вы можете сделать это легко в python, чтобы не было шума, чтобы потом проверить его с помощью wget. См. Мой ответ для python ниже. Не пишите в файл, если его длина больше. –
В строке, которую вы говорите, хотите сохранить концы в 'Y5JhyKQT', и поэтому не имеет 8 случайных цифр в конце, поэтому я предполагаю, что вы имеете в виду« 8 случайных буквенно-цифровых символов ». Как тогда вы могли бы отличить это от строки, которую вы не хотите до нее, заканчивающейся «тенденциями», если она закончилась 8-символьным словом, как «trendier» вместо «трендов»? Или это просто совершенно нерелевантная красная сельдь, которую вы бросили туда, и все, что на самом деле имеет значение, - это длина линии, составляющая 30 символов? –