Board logo

标题: 文本过滤 [打印本页]

作者: xycoordinate     时间: 2008-5-21 19:51    标题: 文本过滤

我有个文本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 ]

作者: plp626     时间: 2008-5-21 20:38
findstr 小计 text.txt for /f "skip=1 delims=" %%a in ('findstr 小计 text.txt')do echo\%%a

作者: joyn     时间: 2008-5-21 20:46
用来干嘛的?

作者: xycoordinate     时间: 2008-5-23 13:52    标题: 问题已经解决!!!


作者: terse     时间: 2008-5-23 17:07
@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