找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 23238|回复: 7

[文本处理] BAT如何在文本中提取特殊定字符最后一次出现的所在行的内容?

[复制链接]
发表于 2013-9-24 12:06:00 | 显示全部楼层 |阅读模式
想从a.txt中提取“第”字最后一次出现所在行的后6个字符,a.txt内容如下:
……
0        11:40:47                初始化完成,热键模式为:增强模式
0        11:40:49                启动脚本:Hw.Q,创建线程:5832
0        11:40:49                线程 5832 执行结束
0        11:42:32                初始化完成,热键模式为:增强模式
0        11:42:35                启动脚本:Hw.Q,创建线程:5560
0        11:42:35                线程 5560 执行结束
0        11:54:16                初始化完成,热键模式为:增强模式
0        11:54:17                启动脚本:Hw.Q,创建线程:4436
0        11:54:17                线程 4436 执行结束
0        11:55:21                初始化完成,热键模式为:增强模式
0        11:55:24                启动脚本:Hw.Q,创建线程:1728
1728        11:55:24        Hw.Q,第12行:        131455
1728        11:55:27        Hw.Q,第18行:        131388
1728        11:55:29                已停止日志记录

想提取“131388”这个数字,多谢指教 !!
 楼主| 发表于 2013-9-24 12:08:59 | 显示全部楼层
把结果写入b.txt
发表于 2013-9-24 14:36:19 | 显示全部楼层
本帖最后由 PowerShell 于 2013-9-24 14:37 编辑

  1. #powershell代码

  2. $文件 = Get-Content 'e:\pscode\a.txt'
  3. for ($i=-1;$i -gt $(0 - $文件.length);$i--)
  4. {
  5.                 if($文件[$i] -like "*第*")
  6.                 {
  7.                                 $目标行 = $文件[$i]
  8.                                 $结果 = $目标行.substring(($目标行.length - 6),6)
  9.                                 $结果  | Out-File  'e:\pscode\b.txt'
  10.                                 break
  11.                 }
  12. }
复制代码
测试通过
 楼主| 发表于 2013-9-24 15:38:08 | 显示全部楼层
楼主初学批处理,Powershell对于我来说生了点,版主能不能再教教我用 For和findstr怎么写?
发表于 2013-9-24 19:48:52 | 显示全部楼层
本帖最后由 batman 于 2013-9-24 19:52 编辑

  1. @echo off
  2. for /f "delims=" %%a in ('findstr "第" a.txt') do set "str=%%a"
  3. echo,%str:~-6%
  4. pause>nul
复制代码
发表于 2013-9-24 19:52:15 | 显示全部楼层

  1. @echo off
  2. for /f "tokens=4" %%a in ('findstr "第" a.txt') do set "str=%%a"
  3. echo,%str%
  4. pause>nul
复制代码
发表于 2013-9-24 20:57:39 | 显示全部楼层
  1. gawk "/第/{n=$NF}END{print n}" a.txt
复制代码
 楼主| 发表于 2013-9-25 12:31:19 | 显示全部楼层
学习了,非常感谢!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 14:39 , Processed in 0.020126 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表