Cómo extraer una cadena de la última línea en un archivo de texto -windows script por lotes


0

Tengo un archivo .txt en este formato

123|abc|23456
234|rsty|68589
890|gfyu|5679
TRAILER|3|

¿Cómo extraigo "3" de la última línea entre "TRAILER |" y "3"? Necesitas ayuda.


1
¿Es esto una tarea única? Si no, ¿siempre hay 4 líneas en el archivo?
DavidPostill

Respuestas:


2

Si siempre hay 4 líneas como se muestra con "TRAILER" en la última línea:

for /f "skip=3 tokens=2 delims=|" %l in (List.txt) do @echo %l

Si puede haber cualquier número de líneas con la línea "TRAILER" presente en cualquier lugar:

for /f "tokens=2 delims=|" %l in ('type List.txt ^| find "TRAILER"') do @echo %l

for /? te enseñará lo que el omitir , tokens y delimita Las opciones significan, aunque no debería ser difícil de entender. También recuerde doblar cada signo de% mientras usa los comandos en un archivo por lotes.


Jeje Estaba esperando una respuesta a mi comentario antes de responder, por lo que me dio una paliza;)
DavidPostill

@DavidPostill: Sabía que usted también tendría una respuesta lista. :) De todos modos, traté de cubrir los escenarios en los que podía pensar, pero quién sabe, el OP podría volver con un conjunto de requisitos completamente diferente.
Karan

0

Como alternativa a la respuesta ya dada, se podría instalar. Gnu en Windows y hacer

tail -n 1 <your file here> | awk -F"|" "{print $2;}"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.