标题: [文本处理] [已解决]如何用批处理给文本里加入关键词? [打印本页]
作者: a574045075 时间: 2024-4-22 16:11 标题: [已解决]如何用批处理给文本里加入关键词?
本帖最后由 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
作者: ShowCode 时间: 2024-4-22 16:27
回复 1# a574045075 - @echo off
- set "OldFile=1.txt"
- set "NewFile=2.txt"
- (for /f "tokens=1* delims=:" %%a in ('findstr /n .* "%OldFile%"') do (
- if "%%b" == "" (
- echo,
- ) else (
- echo %%b | findstr /b "[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9] " >nul 2>nul
- if errorlevel 1 (
- echo,%%b
- ) else (
- echo 日期%%b
- )
- )
- ))>"%NewFile%"
复制代码
作者: a574045075 时间: 2024-4-22 16:36
本帖最后由 a574045075 于 2024-4-22 16:50 编辑
回复 2# ShowCode
好像又不行,我处理别的文件时,语法错误了.
这是我另一个文本,是一个网页源代码. 里面有20组日期,2023的.
链接:https://pan.baidu.com/s/1fIW46QwC63Te6ueTMed4Kg?pwd=6666
作者: aloha20200628 时间: 2024-4-22 19:41
本帖最后由 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版本- @echo off &sed -E "s/^(2023-)/日期\1/g" 1.txt>2.txt &exit/b
复制代码
以上代码用3楼提供的示例文件测试通过...
作者: a574045075 时间: 2024-4-22 19:57
本帖最后由 a574045075 于 2024-4-22 20:00 编辑
回复 4# aloha20200628
不行啊 如果在2024或者2021前加入日期呢
作者: a574045075 时间: 2024-4-22 20:10
回复 4# aloha20200628
可以了 谢谢
作者: aloha20200628 时间: 2024-4-22 20:57
回复 6# a574045075
用以下代码能匹配2020-2024中任一个年份- @echo off &sed -E "s/^(202[0-4]-)/日期\1/g" 1.txt>2.txt &exit/b
复制代码
作者: a574045075 时间: 2024-4-23 08:54
回复 7# aloha20200628
谢谢 我解决了
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |