![]() |
中国DOS联盟-- 联合DOS 推动DOS 发展DOS --联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum |
| 游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟 |
|
中国DOS联盟论坛 现在时间是 2026-08-08 04:57 |
共 48,041 主题排行 / 350,128 发帖 / 今日 3 篇 / 48,253 会员排行 |
| DOS批处理 & 脚本技术(批处理室) » [求助]怎样提取文本中间的哪一行? |
| 可打印版本 850 / 10 |
| 第1楼 pusofalse | 发表于 2008-04-19 19:44 |
| 银牌会员 发帖 646 积分 1,604 | |
|
[求助]怎样提取文本中间的哪一行? a.txt:
1jd 2sdfls 3sd 4kop 5df 6sd 我只想提取出3sd 该怎么做? 谢谢~ |
|
| 第2楼 bat-zw | 发表于 2008-04-19 20:07 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
下次请把要求写清楚了: 首先建议搜索。
1按行搜索(第三行) 2按字符搜索(字符为3) |
|
| 第3楼 pusofalse | 发表于 2008-04-19 20:11 |
| 银牌会员 发帖 646 积分 1,604 | |
|
回复2楼 那2个方法我也会,只是a.txt当中的内容是未知的,也怪我没说清楚,我想提取出a.txt中的第三行,第五行,第七行。。
|
|
| 第4楼 bat-zw | 发表于 2008-04-19 20:32 |
| 金牌会员 发帖 1,276 积分 3,105 | |
|
这也容易: [ Last edited by zw19750516 on 2008-4-19 at 08:42 PM ] |
|
| 第5楼 pusofalse | 发表于 2008-04-19 20:41 |
| 银牌会员 发帖 646 积分 1,604 | |
|
谢谢~~~ 一指点就明白了~~ 第一段代码,稍作修改下也可以~
@echo off&setlocal enabledelayedexpansion for /f "delims=:" %%a in ('findstr /n .* a.txt') do set line=%%a for /f "delims=" %%i in (a.txt) do ( set /a n+=1 for /l %%a in (3,2,%line%) do if !n! equ %%a set str=%%i&echo !str! ) pause>nul 这样的话 不管有多少行,都会提取从3开始的奇数行了~~ |
|
| 第6楼 abcd | 发表于 2008-04-19 21:54 |
| 银牌会员 发帖 739 积分 1,436 | |
| 第7楼 ThinKing | 发表于 2008-04-20 00:13 |
| 中级用户 发帖 207 积分 471 | |
|
GNU sed
|
|
| 第8楼 ThinKing | 发表于 2008-04-20 00:21 |
| 中级用户 发帖 207 积分 471 | |
| 第9楼 26933062 | 发表于 2008-04-20 03:06 |
| 银牌会员 发帖 879 积分 2,268 | |
|
从第3行开始取奇数行。
: |
|
| 第10楼 plp626 | 发表于 2008-04-20 03:38 |
| 银牌会员 发帖 1,020 积分 2,278 | |
|
我来个一句话的:
|
|
| 第11楼 26933062 | 发表于 2008-04-20 04:12 |
| 银牌会员 发帖 879 积分 2,268 | |
Originally posted by plp626 at 2008-4-20 03:38: 巧妙! |
|
|
[ 联系联盟系统管理团队 -
中国DOS联盟 -
标准版 ] Sponsored by ifanr Inc | © 2001–2023 |