标题: [文本处理] 批处理如何查找txt文本里包含指定字符串的行并输出第一个和最后一个匹配行 [打印本页]
作者: ltx1993 时间: 2016-7-6 14:01 标题: 批处理如何查找txt文本里包含指定字符串的行并输出第一个和最后一个匹配行
本帖最后由 pcl_test 于 2016-7-6 15:18 编辑
比如
a:1
fga
a:2
a:3
afdsfa
a:4
我搜索a 只想输出 a:1 a:4
作者: pcl_test 时间: 2016-7-6 14:18
搜索a,是匹配每行开头是a还是包含a
作者: ltx1993 时间: 2016-7-6 14:43
回复 2# pcl_test
包含a就行 中间的都是随便打的
作者: pcl_test 时间: 2016-7-6 14:54
本帖最后由 pcl_test 于 2016-7-6 14:55 编辑
- @echo off
- for /f "delims=" %%a in ('more +9 "%~f0"^|find "a"') do (
- if not defined #尾 set "#头=%%a"
- set "#尾=%%a"
- )
- echo;%#头%
- echo;%#尾%
- pause&exit
- ::举个栗子
- a:1
- fga
- a:2
- a:3
- afdsfa
- a:4
复制代码
作者: ltx1993 时间: 2016-7-6 15:08
回复 4# pcl_test
并不行啊= =
作者: pcl_test 时间: 2016-7-6 15:09
- @echo off
- findstr "a" "文本.txt">$1.tmp
- set /p #头=<$1.tmp
- sort /+65535 $1.tmp>$2.tmp
- set /p #尾=<$2.tmp
- echo;%#头%
- echo;%#尾%
- del /q /f $*.tmp
- pause
复制代码
作者: pcl_test 时间: 2016-7-6 15:11
回复 5# ltx1993
直接运行不行?你自己没改对怪谁
作者: ltx1993 时间: 2016-7-6 15:11
就比如txt里面是这些 我想搜索并输出calendar_time第一个和最后一个方便计算时间
//[calendar_time:2016-07-04 01:10:01.023 system_uptime:22184244]
:Sending Touch (ACTION_DOWN): 01162.0,415.0)
:Sending Touch (ACTION_UP): 0:(1161.4484,419.31702)
//[calendar_time:2016-07-04 01:10:11.544 system_uptime:22194765]
:Sending Touch (ACTION_DOWN): 0:(474.0,566.0)
:Sending Touch (ACTION_UP): 0:(467.8971,565.43835)
//[calendar_time:2016-07-04 01:10:17.834 system_uptime:22201055]
:Sending Touch (ACTION_DOWN): 0:(450.0,64.0)
:Sending Touch (ACTION_UP): 0:(405.73944,166.1908)
//[calendar_time:2016-07-04 01:10:26.761 system_uptime:22209982][url][/url]
作者: ltx1993 时间: 2016-7-6 15:25
回复 7# pcl_test
可以找到最后一个= =
作者: pcl_test 时间: 2016-7-6 15:54
回复 9# ltx1993
把你原文件发网盘或打包发附件发出来
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |