У меня есть файл URL-адресов в формате, показанном ниже:
com.blendtuts/S
°=
com.blengineering.www/:http
±=
com.blenheimgang.www/le-porsche-museum-en-details/porsche-museum-3
²=
com.blenheimsi
³=
com.blenkov.www/page/media/18/34/376
´=
com.blentwell.www/bookmarks.php/jackroldan/sp
¸=
com.blentwell.www/tags.php/I
Размер файла находится в GigaBytes. Скажем около 250 ГБ размера файла.
Я пытался отменить слова в файле и извлечь только домены из текста. Я попытался сделать это с помощью команд терминала Ubuntu OS. Позвольте мне рассказать вам, что я пробовал:
Сначала я удалил данные после «/», используя следующую команду:
~$ ex -sc '%s/\(\/\).*/\1/ | x' newfile.txt > ddm.txt
И результат как:
[ f3]Теперь я отменил полный текст в файле, используя решение: https://stackoverflow.com/questions/40467918/how-to-reverse-the-word-in-ubuntu
[d7 ] И получил следующий результат: /blendtuts.com
°= /www.blengineering.com
±= /www.blenheimgang.com
²= blenheimsi.com
³= /www.blenkov.com
µ= /www.blentwell.com
¶= /www.blentwell.com
•= /www.blentwell.com
/www.blentwell.com
Но проблема еще не решена. Я хотел бы, как можно извлечь URL-адреса и поместить их в другой файл с помощью Ubuntu. Как вы можете видеть выше, вывод, который у меня есть, это не домен, он имеет обратную косую черту с ним.
Если есть другое решение этой проблемы, использующее любую другую операционную систему, сообщите мне об этом. Я предпочитаю ездить с Ubuntu.
Я хотел бы извлечь домены из файла и отделить их от другого файла, и это тоже в правильном формате.
Если я получу уникальный домен, то это будет отличное решение для моего запроса. В противном случае я использую команду как:
$ sort filename.txt | uniq > save_to_file.txt
Пожалуйста, постарайтесь не дать мне решение с помощью команды awk, поскольку оно не работает в моей системе.
Пример данных: [ ! d13]
com.blendschutzrollo.www/d_chefsessel6_Maxx_Chefsessel_mit_Kopfstutze_Chefdrehsessel___Munchen__374
¯=
com.blendtuts/S
°=
com.blengineering.www/:http
±=
com.blenheimgang.www/le-porsche-museum-en-details/porsche-museum-3
²=
com.blenheimsi
³=
com.blenkov.www/page/media/18/34/376
´=
com.blenoir.www/lat
µ=
com.blentwell.www/bookmarks.php/bashment%20jack/re
¶=
com.blentwell.www/bookmarks.php/djcable/rt
·=
com.blentwell.www/bookmarks.php/jackroldan/sp
¸=
com.blentwell.www/tags.php/I
¹=
com.blentwell.www/tags.php/eurot
º=
com.blentwell.www/tags.php/mitarbeiters
»=
com.blentwell.www/tags.php/verw
¼=
com.blenzblog/tag/olympic-w
½=
com.blepharoplastyusa.www/albany-n
¾=
Как просто получить все между «com» и amp; 'WWW'? И напечатайте их «sed»
sed -ne 's/com\.\(.*\)\.www\(.*\)/www.\1.com/p' infile
Это будет игнорировать две строки вашего входного образца, у которого нет «www».