Board logo

标题: [其他] [已解决]批处理如何提取txt文本中指定字符串后面的3个字符? [打印本页]

作者: crx25    时间: 2011-11-19 17:32     标题: [已解决]批处理如何提取txt文本中指定字符串后面的3个字符?

本帖最后由 pcl_test 于 2016-11-18 15:39 编辑

循环提取1.txt文档中指定字符的后3个字节;假如1.txt上面有:01.02.05.07.06.03.12.11.05.07.06.08.
现在想要查找指定字符为05.07.06.需要结果
输出至2.txt为;
03.08.
1.txt上面有1000多个两位数字,所有的数据都是变量
请高手赐教!我是菜鸟!!
作者: awk    时间: 2011-11-19 17:58

03.08.是从哪里来的?
作者: CrLf    时间: 2011-11-19 18:05

本帖最后由 CrLf 于 2011-11-19 19:04 编辑

原先代码有误,已修改:
  1. @echo off&setlocal enabledelayedexpansion
  2. set key=05.07.06.
  3. (for /f "delims=" %%a in (1.txt) do (
  4.    set var=
  5.    set "str=%%a%key%"
  6.    for /l %%b in (1 1 100) do (
  7.       if defined str set str=!str:*%key%=!
  8.       for /f "delims=." %%c in ("!str!") do set var=!var!%%c.
  9.    )
  10.    echo;!var!
  11. ))>2.txt
  12. pause
复制代码
  1. @echo off&setlocal enabledelayedexpansion
  2. set key=05.07.06.
  3. (for /f "delims=" %%a in (1.txt) do (
  4.    set var=
  5.    set str=%%a
  6.    for %%b in (@!str:%key%^=^ !) do (
  7.       for /f "eol=@ delims=." %%c in ("%%b") do set var=!var!%%c.
  8.    )
  9.    echo;!var!
  10. ))>2.txt
  11. pause
复制代码

作者: crx25    时间: 2011-11-19 18:09

档中指定字符的后3个字节;假如1.txt上面有:01.02.05.07.06.03.12.11.05.07.06.08.
现在想要查找指定字符为05.07.06.
03.是文本中指定字符串05.07.06.出现的第一次后面的;(05.07.06.03.)
08.是文本中指定字符串05.07.06.出现的第二次后面的;(05.07.06.08.)
作者: awk    时间: 2011-11-19 18:16

  1. grep -o "05\.07\.06\..." a.txt | gawk -F. "{printf $NF\".\"}" >b.txt
复制代码

作者: crx25    时间: 2011-11-19 18:46

回复 3# CrLf


    谢谢你的帮助,不过,两段的结果都是空白,没有输出!!
作者: crx25    时间: 2011-11-19 18:51

回复 5# awk


    谢谢你,不过我不明白,也没结果!!
作者: awk    时间: 2011-11-19 18:58

回复 7# crx25


你没有grep和gawk吧?
作者: crx25    时间: 2011-11-19 19:02

回复  crx25


你没有grep和gawk吧?
awk 发表于 2011-11-19 18:58



    这个我不懂,还有,我现在要的不是独立运行的,是要加入到批处理当中的!谢谢
作者: CrLf    时间: 2011-11-19 19:05

回复 9# crx25


    原先代码有误,已修改
作者: crx25    时间: 2011-11-19 19:27

本帖最后由 crx25 于 2011-11-19 21:13 编辑

回复 10# CrLf


    多谢帮助,不胜感激!!效果一级棒!!

以前用的一段命令运行费时至少半小时,而且每次还要手工整理数据库文件,现在一下解决了,真的很感谢




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2