Board logo

标题: 指定位置向前查找指定字符? [打印本页]

作者: zerocq     时间: 2007-10-7 02:00    标题: 指定位置向前查找指定字符?

有个txt文件内有N个记录分成几个子段

每个子段都都段名,记录名长度格式都不同

查找到指定记录后怎么查看该记录属于哪一个子段???

格式:
段名1
记录1 记录2 记录3
段名2
记录4 记录5 记录6
段名3
记录7 记录8 记录9

vbs/bat均可,只想代码简洁,占用少,效率高

我本来把每段都写入各自的txt文件,然后逐个find "记录"

但这样效率太低了:(:(
作者: lxmxn     时间: 2007-10-7 02:24    标题: 用Gawk试试


gawk "/段名/{record=$0};/记录/{print record}" urfile

作者: 26933062     时间: 2007-10-7 15:19
每个单独的记录中没有空格时,
@echo off
set /p str=请输入记录名:
for /f "delims=" %%a in (a.txt) do call :lis "%%a"
echo.&pause&exit
:lis
set num=0
for %%i in (%~1) do if "%%i"=="%str%" set num=1
if not "%num%"=="1" (set var=%~1) else echo %str% 在 %var%
goto :eof
[ Last edited by 26933062 on 2007-10-7 at 03:22 PM ]