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

[文本处理] 【已解决】BAT批处理如何批量整理txt文本数据?

[复制链接]
发表于 2014-2-4 21:20:38 | 显示全部楼层 |阅读模式
本帖最后由 思想之翼 于 2014-2-5 14:37 编辑

有若干txt文本,记录格式如下:
温湿度变化: 4592670138
变化值次数: 4 3 3 2 2 2 1 1 1 1

欲批量删除文本内的文字,仅保留数据,格式变更如下:
4 5 9 2 6 7 0 1 3 8
4 3 3 2 2 2 1 1 1 1

这样的代码如何写?恳望得到帮助。

评分

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

查看全部评分

发表于 2014-2-5 09:40:53 | 显示全部楼层
  1. sed -r "s/.*: //; s/./& /g; s/ +/ /g" a.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢帮助!

查看全部评分

发表于 2014-2-5 11:50:45 | 显示全部楼层
  1. @set @n=0;//&dir /b *.txt|cscript -nologo -e:jscript "%~0" & pause&exit/b
  2. fso = new ActiveXObject("Scripting.FileSystemObject");
  3. while (!WSH.StdIn.AtEndOfStream) {
  4.     f = WSH.StdIn.ReadLine();
  5.     txt = fso.OpenTextFile(f,1).ReadAll();
  6.     txt = txt.replace(/.*: *((\d *)+)$/mg,
  7.         function(s,s1) {return s1.replace(/(.) */g," $1").substr(1)}
  8.     );
  9.     fso.OpenTextFile(f,2).Write(txt);
  10. }
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢帮助!

查看全部评分

发表于 2014-2-5 12:21:00 | 显示全部楼层
sed
  1. @sed -ri "s/[^0-9]*([0-9])[^0-9]*/\1 /g" *.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢帮助!

查看全部评分

发表于 2014-2-5 12:22:24 | 显示全部楼层
再来个纯批
  1. @echo off & setlocal enabledelayedexpansion
  2. for /f "delims=" %%i in ('dir /a-d /b *.txt') do (
  3.     (for /f "usebackq tokens=2 delims=:" %%a in ("%%i") do (
  4.         set "s=%%a"
  5.         set "s=!s: =!"
  6.         for /l %%b in (0 1 9) do set "s=!s:%%b= %%b!"
  7.         echo,!s:~1!
  8.     ))>$
  9.     move $ "%%i"
  10. )
  11. pause
复制代码

评分

参与人数 1技术 +1 收起 理由
思想之翼 + 1 感谢帮助!

查看全部评分

 楼主| 发表于 2014-2-5 14:24:40 | 显示全部楼层
完美解决问题。感谢楼上各位老师的鼎力帮助!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-21 04:27 , Processed in 0.030716 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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