Board logo

标题: [求助]从长文本中拷贝固定的行到新文本中[话题已结] [打印本页]

作者: pclxxxh     时间: 2008-9-26 12:35    标题: [求助]从长文本中拷贝固定的行到新文本中[话题已结]

目的:从一个很长的文本中提取有用的一些行,放到另外的一个文本文件里
要求:a:源文本很长
      b:源文本包含有*,@,_,等字符
      c:要求源文件行前的空格也转移到新文件中
细节:源文件名称ut00001.txt
       新文件名称:force.txt
       将源文件的第812,1779,1792,1793....行按原格式转移到新文件中

注:因为很急,没有时间从头学起了,可能没有挑战性,望路过的大虾们施以援手,解一时之困!!
在这里先谢过了


很快就回复了,对我帮助很大,问题核心部分得到了解决
感谢论坛,感谢两位朋友
另外:
我对2楼和4楼都做了测试
4楼的输出结果很好,
2楼的双击之后没有反映,没有cmd窗口或者force.txt文档
最后,再次感谢两位达人的热心帮助

[ Last edited by pclxxxh on 2008-9-28 at 00:04 ]
作者: pooronce     时间: 2008-9-26 13:07

for /f "tokens=1* delims=:" %%i in ('find /n .* 00001.txt') do (
  if not "%%i"=="812" if not "%%i"=="1779" if not "%%i"=="1792" if not "%%i"=="1793" goto :skip
  echo %%j>>force.txt
  :skip
  )

作者: hnjzsxn     时间: 2008-9-26 13:25
学习一下
作者: moniuming     时间: 2008-9-26 13:31

@echo off
rem 如果显示正常,请把"echo %%b"改为">>force.txt echo.%%b"
set "str=812 1779 1792 1793"
for %%i in (%str%) do (set "_%%i=ok")
for /f "tokens=1* delims=:" %%a in ('findstr /n .* "ut0001.txt"') do (
   if defined _%%a echo.%%b
)
pause
[ Last edited by moniuming on 2008-9-26 at 01:57 PM ]