中国DOS联盟论坛

中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --
联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
游客 | 登录 | 注册 | 会员 | 搜索 | 中国DOS联盟
中国DOS联盟论坛
现在时间是 2026-09-22 14:39
47,812 主题排行 / 349,917 发帖 / 今日 0 篇 / 48,272 会员排行
DOS批处理 & 脚本技术(批处理室) » 请问如何把findstr查询到的行的前一行也显示出来?
可打印版本  2,690 / 0
第1楼 wiq 发表于 2017-03-02 16:22
初级用户 发帖 35 积分 179
请问如何把findstr查询到的行的前一行也显示出来?
前一行不包括要查找的字符,请问如何把findstr查询到的行的前一行也显示出来?

set ACCOUNT=1234
set DATE=20170302
set DIR=d:\log\
for %%i in (%DATE%) do findstr /nisd:%DIR% "%ACCOUNT%" %%i.log >>log.txt

日志里包括帐号的行没时间,前一行有,但前一行里没帐号,不能把有时间的都显示出来,因为还有其它帐号的日志。

linux下awk可以实现:awk '/1234/{print a"\n"$1;}{a=$0}' 20170302.log

[ Last edited by wiq on 2017-3-3 at 09:20 ]
[ 联系联盟系统管理团队 - 中国DOS联盟 - 标准版 ]
Sponsored by ifanr Inc | © 2001–2023