Board logo

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

作者: newdosuser    时间: 2008-10-24 21:37     标题: 批处理如何查找出文本中含有指定字符串的行和该行行号

本帖最后由 pcl_test 于 2016-9-13 17:06 编辑

找到文本中的指定文字,并记录下行号
各位高手,本人想在文本中找到指定的文字,并记录下所在的行,并记到一个变量中.谢谢
作者: pusofalse    时间: 2008-10-24 22:13

应该给出一个典型的文本,把要提取的内容高亮显示,否则别人给出的代码都是摸索着写,极不通用的。你没有考虑过多的情况,比如要查找的内容在很多行中都有时,你要哪一行的行号赋予变量?还是都赋予?
作者: newdosuser    时间: 2008-10-24 22:22

呵呵,新手,不懂规矩

如: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个青岛所在的行,并记录下行号

顺便问下,怎么高亮显示?
作者: pusofalse    时间: 2008-10-24 22:39

  1. @echo off
  2. for /f "delims=:" %%a in ('findstr /n "青岛" tq.txt') do set "line=%%a"
  3. echo “青岛”所在的行是第%line%行。
  4. pause>nul
复制代码

作者: batman    时间: 2008-10-24 22:40

  1. @echo off
  2. for /f "delims=:" %%i in ('findstr /n "青岛" a.txt') do echo 所在行为第%%i行
  3. pause>nul
复制代码

晕,发了才看见已有标准答案。。。
作者: newdosuser    时间: 2008-10-24 22:52

哈哈,太好了,这里真是个好地方,谢谢两位了.
作者: batman    时间: 2008-10-24 22:54

原帖由 newdosuser 于 2008-10-24 22:52 发表
哈哈,太好了,这里真是个好地方,谢谢两位了.

既是好地方,就该多来看看。。。




欢迎光临 批处理之家 (http://bathome.net./) Powered by Discuz! 7.2