如何从文本文件的最后一行提取字符串-Windows批处理脚本


0

我有这种格式的.txt文件

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

如何从“ TRAILER |”之间的最后一行中提取“ 3” 和“ 3”?需要帮忙。


1
这是一项任务吗?如果不是,文件中是否总是有4行?
DavidPostill

Answers:


2

如果总有4行,如最后一行中的“ TRAILER”所示:

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

如果任何地方都可以有任意数量的行,并且出现“ TRAILER”行:

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

for /?将告诉您skiptokensdelims选项的含义,尽管并不难理解。还请记住在批处理文件中使用命令时,将每个%符号加倍。


呵呵。在等待回答之前,我一直在等待对我的评论的答复,因此您击败了我;)
DavidPostill

@DavidPostill:我知道您也会准备好答案。:)无论如何,我试图涵盖我能想到的场景,但谁知道,OP可能会提出一套完全不同的要求。
卡兰2015年

0

作为已经给出的答案的替代方法,您可以在Windows上安装Gnu并执行

tail -n 1 <your file here> | awk -F"|" "{print $2;}"
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.