Windows FINDSTR Equivalente do Ubuntu para pesquisar .csv

0

Eu tenho uma pasta (Transações) com centenas de arquivos .csv. Eu quero pesquisar em todos os arquivos csv para uma seqüência de caracteres específica e obter a saída de cada linha que contém essa seqüência de caracteres. De preferência, envie para um arquivo txt. Por exemplo, digamos que eu queira encontrar qualquer registro que contenha o nome John Doe. No windows eu usaria o seguinte:

FINDSTR /n /i "John.Doe" *.csv >> johndoe.txt
  • /n para me dar o número da linha
  • /i para ignorar o caso
  • "." para separar palavras
  • *.csv para pesquisar todos os arquivos que terminam com .csv e
  • >> para saída para um novo arquivo que contém todos os dados que incluem a cadeia (na mesma pasta).

Estou procurando um comando semelhante para usar no Ubuntu Terminal que pesquisará todos os arquivos .csv e gerará quaisquer ocorrências em um arquivo txt. Eu olhei em grep e awk mas não sei como usá-los. Qualquer ajuda seria apreciada. Obrigado.

    
por T. Everest 17.09.2015 / 23:56

2 respostas

1

% bl0ck_qu0te%

A documentação do grep tem muitos exemplos. O primeiro deles A seção> Uso demonstra a pesquisa sem distinção entre maiúsculas e minúsculas:

% bl0ck_qu0te%

E se eu pesquisar por line number na página mencionada acima:

-n
--line-number
Prefix each line of output with the 1-based line number within its input file. (-n is specified by POSIX.)

>> foo e *.csv são manipulados pelo shell (provavelmente como você esperaria). Então:

grep -in "John.Doe" *.csv >> johndoe.txt

Opções como /i , /n , etc. geralmente começam com hífens no mundo Unix.

    
por muru 18.09.2015 / 00:37
0

O aplicativo gratuito 'CsvFileSearch' fará exatamente o que você quer.

link

    
por Les Hardy 18.09.2015 / 11:08