У меня есть файл .txt в этом формате
123|abc|23456
234|rsty|68589
890|gfyu|5679
TRAILER|3|
Как извлечь "3" из последней строки, заключенной между «TRAILER |» а "3"? Нужна помощь.
Если всегда есть 4 строки, как показано "ТРЕЙЛЕР" в последней строке:
for /f "skip=3 tokens=2 delims=|" %l in (List.txt) do @echo %l
Если может быть любое количество строк, где где-либо присутствует строка "ТРЕЙЛЕР":
for /f "tokens=2 delims=|" %l in ('type List.txt ^| find "TRAILER"') do @echo %l
for /?
научит вас, что означают опции пропуска, токенов и разделителей, хотя это не должно быть сложно понять. Также не забывайте удваивать каждый знак% при использовании команд в командном файле.
В качестве альтернативы уже полученному ответу вы можете установить Gnu на Windows и сделать
tail -n 1 <your file here> | awk -F"|" "{print $2;}"