中国DOS联盟

-- 联合DOS 推动DOS 发展DOS --

联盟域名:www.cn-dos.net 论坛域名:www.cn-dos.net/forum
DOS,代表着自由开放与发展,我们努力起来,学习FreeDOS和Linux的自由开放与GNU精神,共同创造和发展美好的自由与GNU GPL世界吧!

中国DOS联盟论坛
现在时间是 2026-08-08 18:09
中国DOS联盟论坛 » DOS批处理 & 脚本技术(批处理室) » 文本过滤 查看 704 回复 4
楼 主 文本过滤 发表于 2008-05-21 19:51 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 493
发帖 228
注册 2007-02-16 00:38
19年会员
UID 79596
性别 男
来自 安徽
状态 离线
我有个文本text.txt:

┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 1┃ 10206┃1020601011003124488 ┃ 890.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 2┃ 10206┃1020601011003116860 ┃ 860.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃小计┃ 2┃ ┃ 1,750.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 1┃ 15600┃1560001011002018992 ┃ 35,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 2┃ 15600┃1560001011001880180 ┃ 5,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 3┃ 15600┃1560001011000413473 ┃ 10,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 4┃ 15600┃1560001011001607063 ┃ 30,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 5┃ 15600┃00600000000000211333 ┃ 46.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 6┃ 15600┃1560001011002018992 ┃ 45,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 7┃ 15600┃1560001011001450918 ┃ 1,000.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃ 8┃ 15600┃00600000000000249809 ┃ 1,900.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋
┃小计┃ 8┃ ┃ 127,946.00┃
┣━━╋━━━╋━━━━━━━━━━━╋━━━━━━╋


现在想过滤成只有15600的"小计",即
┃小计┃ 8┃ ┃ 127,946.00┃

[ Last edited by xycoordinate on 2008-5-21 at 07:53 PM ]
2 发表于 2008-05-21 20:38 ·  中国 陕西 西安 电信
银牌会员
★★★★
钻石会员
积分 2,278
发帖 1,020
注册 2007-11-19 13:34
18年会员
UID 103127
性别 男
状态 离线
findstr 小计 text.txt
for /f "skip=1 delims=" %%a in ('findstr 小计 text.txt')do echo\%%a
山外有山,人外有人;低调做人,努力做事。

进入网盘(各种工具)~~ 空间~~cmd学习
3 发表于 2008-05-21 20:46 ·  中国 广西 南宁 电信
中级用户
★★
丶杏灬丶
积分 280
发帖 105
注册 2008-05-06 03:37
18年会员
UID 117858
性别 男
来自 广西
状态 离线
用来干嘛的?
4 问题已经解决!!! 发表于 2008-05-23 13:52 ·  中国 安徽 马鞍山 电信
中级用户
★★
积分 493
发帖 228
注册 2007-02-16 00:38
19年会员
UID 79596
性别 男
来自 安徽
状态 离线
5 发表于 2008-05-23 17:07 ·  中国 江苏 常州 溧阳市 电信
银牌会员
★★★
积分 2,404
发帖 946
注册 2005-09-08 13:44
20年会员
UID 42345
状态 离线
@echo off&setlocal enabledelayedexpansion
for /f "delims=┃ tokens=1,2,3,4" %%i in (text.txt) do (
set str1=%%i&set str2=%%j
set str4=!str1: =!&set str2=!str2: =!
if !str2! equ 15600 set n=15600
if defined n if "!str1!"=="小计" echo ┃%%i┃ %%j┃ %%k┃ %%l┃&set n=
)
pause
简单!简单!再简单!
论坛跳转: