找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 32110|回复: 10

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

[复制链接]
发表于 2011-11-19 17:32:00 | 显示全部楼层 |阅读模式
本帖最后由 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多个两位数字,所有的数据都是变量
请高手赐教!我是菜鸟!!

评分

参与人数 1PB +2 收起 理由
CrLf + 2 感谢给帖子标题标注[已解决]字样

查看全部评分

发表于 2011-11-19 17:58:06 | 显示全部楼层
03.08.是从哪里来的?
发表于 2011-11-19 18:05:04 | 显示全部楼层
本帖最后由 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
复制代码

评分

参与人数 2技术 +2 收起 理由
Hello123World + 1 第二个代码实在是高
crx25 + 1 救急,技术性强,全面考虑陈述盲点!!

查看全部评分

 楼主| 发表于 2011-11-19 18:09:52 | 显示全部楼层
档中指定字符的后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.)
发表于 2011-11-19 18:16:55 | 显示全部楼层
  1. grep -o "05\.07\.06\..." a.txt | gawk -F. "{printf $NF"."}" >b.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
CrLf + 1 乐于助人

查看全部评分

 楼主| 发表于 2011-11-19 18:46:24 | 显示全部楼层
回复 3# CrLf


    谢谢你的帮助,不过,两段的结果都是空白,没有输出!!
 楼主| 发表于 2011-11-19 18:51:14 | 显示全部楼层
回复 5# awk


    谢谢你,不过我不明白,也没结果!!
发表于 2011-11-19 18:58:47 | 显示全部楼层
回复 7# crx25


你没有grep和gawk吧?
 楼主| 发表于 2011-11-19 19:02:57 | 显示全部楼层
回复  crx25


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



    这个我不懂,还有,我现在要的不是独立运行的,是要加入到批处理当中的!谢谢
发表于 2011-11-19 19:05:06 | 显示全部楼层
回复 9# crx25


    原先代码有误,已修改
 楼主| 发表于 2011-11-19 19:27:30 | 显示全部楼层
本帖最后由 crx25 于 2011-11-19 21:13 编辑

回复 10# CrLf


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

以前用的一段命令运行费时至少半小时,而且每次还要手工整理数据库文件,现在一下解决了,真的很感谢
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 15:01 , Processed in 0.020973 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表