![如何从文本文件的最后一行提取字符串-Windows批处理脚本](https://linux22.com/image/1453055/%E5%A6%82%E4%BD%95%E4%BB%8E%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%E7%9A%84%E6%9C%80%E5%90%8E%E4%B8%80%E8%A1%8C%E6%8F%90%E5%8F%96%E5%AD%97%E7%AC%A6%E4%B8%B2-Windows%E6%89%B9%E5%A4%84%E7%90%86%E8%84%9A%E6%9C%AC.png)
我有一个这种格式的 .txt 文件
123|abc|23456
234|rsty|68589
890|gfyu|5679
TRAILER|3|
如何从“TRAILER|”和“3”之间最后一行中提取“3”?需要帮助。
答案1
如果总是有 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 /?
会教你什么跳过,代币和德利姆斯选项的含义,尽管应该不难理解。另外,请记住,在批处理文件中使用命令时,每个 % 符号要重复两次。
答案2
作为已经给出的答案的替代方案,您可以安装Windows 上的 Gnu并做
tail -n 1 <your file here> | awk -F"|" "{print $2;}"