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

[文本处理] [已解决]如何用批处理给文本里加入关键词?

[复制链接]
发表于 2024-4-22 16:11:19 | 显示全部楼层 |阅读模式
本帖最后由 a574045075 于 2024-4-22 20:11 编辑

有个1.txt文本,是网页源代码,里面有一些日期,我想在这些日期的前面加入"日期"这个关键词.
例如
2023-11-28 08:25 变成 日期2023-11-28 08:25
2023-11-27 08:25 变成 日期2023-11-27 08:25等等
文本
链接:https://pan.baidu.com/s/1fIW46QwC63Te6ueTMed4Kg?pwd=6666

评分

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

查看全部评分

发表于 2024-4-22 16:27:25 | 显示全部楼层
回复 1# a574045075
  1. @echo off
  2. set "OldFile=1.txt"
  3. set "NewFile=2.txt"
  4. (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%OldFile%"') do (
  5.     if "%%b" == "" (
  6.         echo,
  7.     ) else (
  8.         echo %%b | findstr /b "[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] " >nul 2>nul
  9.         if errorlevel 1 (
  10.             echo,%%b
  11.         ) else (
  12.             echo 日期%%b
  13.         )
  14.     )
  15. ))>"%NewFile%"
复制代码

评分

参与人数 1技术 +1 收起 理由
a574045075 + 1 谢谢

查看全部评分

 楼主| 发表于 2024-4-22 16:36:17 | 显示全部楼层
本帖最后由 a574045075 于 2024-4-22 16:50 编辑

回复 2# ShowCode


好像又不行,我处理别的文件时,语法错误了.
这是我另一个文本,是一个网页源代码. 里面有20组日期,2023的.
链接:https://pan.baidu.com/s/1fIW46QwC63Te6ueTMed4Kg?pwd=6666
发表于 2024-4-22 19:41:05 | 显示全部楼层
本帖最后由 aloha20200628 于 2024-4-22 19:49 编辑

回复 3# a574045075

网页源文件 1.txt 是utf-8编码,将以下代码存为test.bat,因代码中的字面量有中文字符故须用utf-8编码存盘,其中调用的sed.exe可从论坛第三方工具 http://bcn.bathome.net/s/tool/index.html?key=sed 直接下载,可选4.9版本

  1. @echo off &sed -E "s/^(2023-)/日期\1/g" 1.txt>2.txt &exit/b
复制代码
以上代码用3楼提供的示例文件测试通过...

评分

参与人数 1技术 +1 收起 理由
a574045075 + 1 非常感谢

查看全部评分

 楼主| 发表于 2024-4-22 19:57:39 | 显示全部楼层
本帖最后由 a574045075 于 2024-4-22 20:00 编辑

回复 4# aloha20200628


    不行啊 如果在2024或者2021前加入日期呢
 楼主| 发表于 2024-4-22 20:10:23 | 显示全部楼层
回复 4# aloha20200628


    可以了 谢谢
发表于 2024-4-22 20:57:30 | 显示全部楼层
回复 6# a574045075

用以下代码能匹配2020-2024中任一个年份

  1. @echo off &sed -E "s/^(202[0-4]-)/日期\1/g" 1.txt>2.txt &exit/b
复制代码
 楼主| 发表于 2024-4-23 08:54:42 | 显示全部楼层
回复 7# aloha20200628


    谢谢 我解决了
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 02:28 , Processed in 0.010322 second(s), 7 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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