Retire URLs do arquivo .txt

0

Eu tenho um arquivo de texto enorme com muitos textos e URLs neste formato:

link

A última parte do URL "1234567890" é na verdade uma sequência aleatória de caracteres, e não os mesmos números todas as vezes.

Gostaria de remover todo o texto, exceto os URLs neste formato. Eu também gostaria de remover tudo depois ... / XX / 1234567890

Para esclarecer, no final, eu gostaria de um único arquivo com as URLs que parecem:

link

    
por MagicMan23 01.02.2017 / 17:41

2 respostas

0

Supondo que seus URLs estejam em novas linhas, você vai querer usar o grep para extraí-los.

grep "https"

(Isso procura e retorna todas as linhas contendo https. Você pode expandir a string de pesquisa nas cotações para ser mais longa se o texto aleatório contiver https em linhas que não incluam URLs de interesse.)

Editar (interpretar mal o que você queria que acabasse com): Editar 2: Para retirar as URLs de qualquer coisa 10 dígitos após o primeiro '/ XX /' você pode usar o awk:

awk -F'/XX/' '{print $1 "/XX/" substr($2,0,10)}'

Isso divide a entrada fornecida pelo delimitador ('/ XX /' neste caso) e retorna o primeiro valor, ou seja, tudo antes do primeiro '/ XX /' e, em seguida, / XX /, em seguida, uma substring 10, caracteres de comprimento (começando com a primeira letra) do que está após o / XX /.

Você pode juntar-se a eles usando pipes da seguinte maneira (suponha que suas URLs estejam em um arquivo de texto chamado urls.txt):

cat urls.txt | grep "https" | awk -F'?' '{print $1 "/XX/" substr($2,0,10)}'
    
por 01.02.2017 / 18:17
0
grep -Po 'https?://\S+/\w\w/\w{1,10}\b'   bigfile.txt
    
por 01.02.2017 / 19:19

Tags