У меня есть файл .txt в этом формате

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

Как извлечь "3" из последней строки, заключенной между «TRAILER |» а "3"? Нужна помощь.

2 ответа2

2

Если всегда есть 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 /? научит вас, что означают опции пропуска, токенов и разделителей, хотя это не должно быть сложно понять. Также не забывайте удваивать каждый знак% при использовании команд в командном файле.

0

В качестве альтернативы уже полученному ответу вы можете установить Gnu на Windows и сделать

tail -n 1 <your file here> | awk -F"|" "{print $2;}"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .