Grep records do arquivo Excel ou txt com determinados códigos de área

0

Eu sei como puxar certos registros em um arquivo de texto usando algo como código abaixo quando eu quero todos os registros que têm data de ano de 2018. Abaixo está um registro de amostra que estou lidando e agora eu preciso do código para extrair apenas os códigos de área da lista de milhares de números de telefone de 10 dígitos em arquivo. Eu realmente tenho que puxar vários códigos de área, então se pode fazer tudo de uma vez, isso seria ótimo. Aqui está o código que usei por ano:

grep 2018-01 mca159.182.txt 

Embora os trabalhos acima, ele não extraia esses registros em um arquivo, mesmo se eu colocar o nome do arquivo que eu quero que ele crie e coloque os registros. Ele ainda exibe todos os resultados que possuem 2018 no terminal. , onde não tenho escolha a não ser copiar e colar. Então essa dica também seria útil, para que eu coloque os resultados em um novo arquivo de texto. Aqui está o que o formato de arquivo que estou lidando parece:

phone       dob     size
9546022996  8/7/17  199000
9123842128  8/7/17  199000

Digamos que eu queira extrair todos os números de telefone com 10 dígitos ou, na verdade, o registro inteiro é o que eu quero, ou seja, as três colunas seriam exportadas para um novo arquivo ou na tela pelo menos para todos os números que começam com 954, 213 , 909. Então, se trabalhasse, então encontraria o primeiro registro acima como correspondência.

    
por mike m 21.02.2018 / 00:36

1 resposta

0

Há duas perguntas aqui:

1) Como enviar a saída do grep para um arquivo, não para a tela do terminal?

A opção -o do grep mostra apenas a parte correspondente de qualquer linha. Você está talvez pensando em tipo -o com essa pergunta?

grep 2018-01 mca159.182.txt > newfile.txt

Envia qualquer linha correspondente para o newfile.txt.

2) Como usar o grep para coincidir com os três primeiros caracteres em um arquivo, para várias combinações possíveis possíveis?

grep -E "^954|^213|^909" mca159.182.txt > newfile.txt

Temos que especificar expressões regulares estendidas com -E (ou usar o comando egrep) para poder usar o | símbolo (chamado operador de alternância no manual do grep). O caractere "^" é uma âncora e significa apenas correspondência onde os três caracteres estão no início da linha.

    
por 21.02.2018 / 03:06

Tags