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

[文本处理] 批处理如何查找出文本中含有指定字符串的行和该行行号

[复制链接]
发表于 2008-10-24 21:37:09 | 显示全部楼层 |阅读模式
本帖最后由 pcl_test 于 2016-9-13 17:06 编辑

找到文本中的指定文字,并记录下行号
各位高手,本人想在文本中找到指定的文字,并记录下所在的行,并记到一个变量中.谢谢

评分

参与人数 1PB -1 收起 理由
pusofalse -1 描述模糊。

查看全部评分

发表于 2008-10-24 22:13:19 | 显示全部楼层
应该给出一个典型的文本,把要提取的内容高亮显示,否则别人给出的代码都是摸索着写,极不通用的。你没有考虑过多的情况,比如要查找的内容在很多行中都有时,你要哪一行的行号赋予变量?还是都赋予?
 楼主| 发表于 2008-10-24 22:22:04 | 显示全部楼层
呵呵,新手,不懂规矩

如:tq.txt
<tr bgcolor=#E4F0F8 align=center>
<td  height=25><a href=http://php.weather.sina.com.cn/search.php?city=青岛 style='color:#000' target=_blank>青岛</a></td>
<td>多云</td>
<td> 3-4</td>
<td>23 ℃</td>
<td>小雨</td>
<td>南 3-4</td>
<td>16 ℃</td>
</tr>

我要找到第2个青岛所在的行,并记录下行号

顺便问下,怎么高亮显示?
发表于 2008-10-24 22:39:19 | 显示全部楼层
  1. @echo off
  2. for /f "delims=:" %%a in ('findstr /n "青岛" tq.txt') do set "line=%%a"
  3. echo “青岛”所在的行是第%line%行。
  4. pause>nul
复制代码
发表于 2008-10-24 22:40:58 | 显示全部楼层
  1. @echo off
  2. for /f "delims=:" %%i in ('findstr /n "青岛" a.txt') do echo 所在行为第%%i行
  3. pause>nul
复制代码

晕,发了才看见已有标准答案。。。
 楼主| 发表于 2008-10-24 22:52:53 | 显示全部楼层
哈哈,太好了,这里真是个好地方,谢谢两位了.
发表于 2008-10-24 22:54:31 | 显示全部楼层
原帖由 newdosuser 于 2008-10-24 22:52 发表
哈哈,太好了,这里真是个好地方,谢谢两位了.

既是好地方,就该多来看看。。。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 01:29 , Processed in 0.032266 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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