Busque una cadena al principio de todas las líneas de un archivo y guárdela en otro archivo

Busque una cadena al principio de todas las líneas de un archivo y guárdela en otro archivo

Probé bastantes opciones sin suerte para esta tarea. Realmente me gustaría hacer esto como un archivo por lotes, pero mis intentos no logran obtener el resultado deseado.

He probado muchos comandos diferentes, findstrpero parece escribir todo en una línea grande y, a veces, hace que los caracteres parezcan extraños.

Uno de mis intentos fallidos.

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

Necesito encontrar todas las entradas en un .csvarchivo que comience con "J H" y guárdelos solo en .csvun archivo nuevo.

Archivo CSV de muestra para buscar

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 en un nuevo archivo CSV de salida

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

Respuesta1

Puedes usar elBuscartrcomando con el /Binterruptor para indicarle que coincida con el patrón al comienzo de las líneas en el archivo que está buscando. Si el patrón no va a distinguir entre mayúsculas y minúsculas, utilice el /Imodificador o simplemente omítalo del comando para una coincidencia de patrón de la cadena que distinga entre mayúsculas y minúsculas.

Sintaxis

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

Archivo buscado

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

Salida del comando FindStr

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

Recursos adicionales

  • Buscartr

  • 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>" 
    
  • Redirección

información relacionada