Encontre uma string no início de todas as linhas de um arquivo e salve em outro arquivo

Encontre uma string no início de todas as linhas de um arquivo e salve em outro arquivo

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

Eu tentei vários comandos diferentes, findstrmas parece escrever tudo em uma linha grande, além de fazer com que os caracteres pareçam estranhos às vezes.

Uma das minhas tentativas fracassadas

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

Preciso encontrar todas as entradas em um .csvarquivo que começa com "JH" e salve apenas aqueles em um novo .csvarquivo.

Exemplo de arquivo CSV para pesquisa

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 em novo arquivo CSV de saída

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

Responder1

Você pode usar oFindstrcomando com a /Bopção para que ele corresponda ao padrão no início das linhas do arquivo que você está pesquisando. Se o padrão não for sensível a maiúsculas e minúsculas, use a /Iopção ou simplesmente omita-o do comando para uma correspondência de padrão com distinção entre maiúsculas e minúsculas da string.

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

Recursos adicionais

  • 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

informação relacionada