楼 主
求助:如何获取指定条件前的内容
发表于 2009-09-09 07:58 · 中国 广东 深圳 福田区 电信
初级用户
★
积分 87 发帖 48 注册 2006-11-06 00:57 19年会员 UID 69720 性别 男
状态 离线
我有一个文本a.txt,内容是:
abcda
12342
45672
ioyre
52348
89976
uyttr
uugts
56738
87654
uyytr
jkite
5rtr8
uttre
我想把每行符合5***8这样条件的,它的前一行内容保存在B.txt.
变成b.txt的内容为:
ioyre
uugts
jkite
不知道批处理能不能做到。。。谢谢大家了
[ Last edited by xeibobin on 2009-9-9 at 08:00 ]
第 2 楼
发表于 2009-09-09 08:17 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
@echo off
(for /f "eol= delims=" %%a in (a.txt) do (
set var=%%a
setlocal enabledelayedexpansion
if "!var:~,1!!var:~-1!"=="58" echo;!last!
endlocal
set last=%%a
))>b.txt
[
Last edited by tireless on 2009-9-9 at 08:29 ]
第 3 楼
发表于 2009-09-09 08:50 · 中国 广东 深圳 福田区 电信
初级用户
★
积分 87 发帖 48 注册 2006-11-06 00:57 19年会员 UID 69720 性别 男
状态 离线
谢谢tireless,已经可以了,如果是包含固定内容的行呢,比如要把包含45的行前面一行保存到文本B.txt呢
第 4 楼
发表于 2009-09-09 09:09 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
@echo off
(for /f "eol= delims=" %%a in (a.txt) do (
set var=%%a
setlocal enabledelayedexpansion
if "!var:45=!" neq "!var!" echo;!last!
endlocal
set last=%%a
))>b.txt
[
Last edited by tireless on 2009-9-9 at 10:20 ]
第 5 楼
发表于 2009-09-09 09:29 · 中国 广东 深圳 福田区 电信
初级用户
★
积分 87 发帖 48 注册 2006-11-06 00:57 19年会员 UID 69720 性别 男
状态 离线
第二个代码好像不可以,呵呵,运行完毕,B.TXT应该是:
12342
才对。。麻烦你再帮我看看。。。
第 6 楼
发表于 2009-09-09 10:22 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
已修改 4 楼代码。
之前看错意思了,看成了“整行内容是 45”...
第 7 楼
发表于 2009-09-09 11:46 · 中国 山西 移动
初级用户
★★
积分 172 发帖 88 注册 2006-12-08 10:47 19年会员 UID 72923 性别 男
状态 离线
如果要显示为后第两行的呢?
运行完毕,B.TXT应该是:
52348
该怎么写?
第 8 楼
re 7 楼:
发表于 2009-09-09 12:25 · 中国 江西 赣州 电信
银牌会员
★★★★
积分 2,025 发帖 1,122 注册 2007-09-05 20:15 18年会员 UID 96653 性别 男
状态 离线
@echo off
setlocal enabledelayedexpansion
set n=0
(for /f "delims=" %%a in (a.txt) do (
if !n! leq 1 (
if !n! equ 1 set /a n-=1 & echo;%%a
set var=%%a
if "!var:45=!" neq "!var!" set n=2
) else set /a n-=1
))>b.txt
第 9 楼
发表于 2009-09-09 12:31 · 中国 山西 移动
初级用户
★★
积分 172 发帖 88 注册 2006-12-08 10:47 19年会员 UID 72923 性别 男
状态 离线
第 10 楼
发表于 2009-09-09 13:16 · 中国 广东 深圳 福田区 电信
初级用户
★
积分 87 发帖 48 注册 2006-11-06 00:57 19年会员 UID 69720 性别 男
状态 离线
论坛跳转:
— 请选择 —
站务公告 & 版主讨论
意见反馈 & 网友交流
DOS学习入门 & 精彩文章 (教学室)
DOS疑难解答 & 问题讨论 (解答室)
DOS启动盘 & LOGO技术 (启动盘室)
DOS批处理 & 脚本技术(批处理室)
DOS媒体世界 & 网络技术 (多媒体室)
DOS汉化世界 & 中文系统 (中文化室)
DOS开发编程 & 发展交流 (开发室)
DOS软件下载 & 游戏分享 (下载室)
GRUB4DOS、SYSLINUX及其它启动管理软件讨论专区
其它操作系统综合讨论区
WinPE、PowerShell及其它命令行系统专区
贴图灌水、文学娱乐专区
网络日志(Blog)
论坛回收站
├ 链接失效,待修正