Encontre uma string no começo de todas as linhas em um arquivo e salve em outro arquivo

0

Eu tentei algumas opções sem sorte para essa tarefa. Eu realmente gostaria de fazer isso como arquivo de lote, mas minhas tentativas não conseguem o resultado desejado.

Eu tentei vários comandos diferentes com findstr , mas ele parece escrever tudo em uma única linha, além de fazer os personagens parecerem estranhos às vezes.

Uma das minhas tentativas com falha

findstr /i /n "\<JH*\>" c:\Users\Desktop\split\file.txt > JH.tx

Eu preciso encontrar todas as entradas em um arquivo .csv que comece com " JH " e salve apenas as que estão no novo arquivo .csv .

Exemplo de arquivo CSV para pesquisar

JH009,20,John May.pdf
PB184,90,Chicken.pdf
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf 
PB091,10,Mice.pdf
PB884,1040,Cat Order.pdf

Resultado esperado no novo arquivo CSV de saída

JH009,20,John May.pdf 
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf
    
por JAH 01.03.2018 / 22:11

1 resposta

0

Você pode usar o comando Findstr com a opção /B para dizer que corresponde ao padrão no início de as linhas no arquivo que você está pesquisando. Se o padrão não for sensível a maiúsculas e minúsculas, use a opção /I ou simplesmente omita-o do comando para uma correspondência de padrão da seqüência de caracteres sensível a maiúsculas e minúsculas.

Sintaxe

FindStr /I /B "JH" "c:\Users\Desktop\split\file.txt" > "JH.csv"

Arquivo pesquisado

JH009,20,John May.pdf
PB184,90,Chicken.pdf
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf
PB091,10,Mice.pdf
PB884,1040,Cat Order.pdf

Saída do comando FindStr

JH009,20,John May.pdf
JH024,10,Fred Walmsley.pdf
JH080,12,Now Call.pdf

Mais recursos

  • Findstr

  • FindStr /?

    /B         Matches pattern if at the beginning of a line.   
    /I         Specifies that the search is not to be case-sensitive.
    

    Example: FindStr /I /B "<String>" "<FileToSearch>" > "<OutputFile>" 
    
  • Redirecionamento

por 01.03.2018 / 22:52