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

[文本处理] [己解决]指定行替换内容,求批处理代码?

[复制链接]
发表于 2019-3-14 00:30:06 | 显示全部楼层 |阅读模式
本帖最后由 keshun 于 2019-3-14 13:28 编辑

1.txt
委托信息合并深度 3位小数
001 a3.571 a588.271
002 a3.570 a3,221.930
003 a3.569 a3,708.659
004 a3.568 a1,643.292
005 a3.567 a1,997.942
买入买入价委单量
006 a3.566 a1,847.859
007 a3.565 a2,520.031
008 a3.564 a2,256.898
009 a3.563 a1,268.451
010 a3.562 a819.393
011 a3.561 a391.199
012 a3.560 a3,351.776
013 a3.559 a362.588
卖出卖出价委单量
014 a3.558 a195.016
015 a3.557 a184.340
016 a3.556 a442.470
017 a3.554 a577.003

替换成:
委托aaa
001 a3.571 a588.271
002 a3.570 a3,221.930
003 a3.569 a3,708.659
004 a3.568 a1,643.292
005 a3.567 a1,997.942
买入aaa
006 a3.566 a1,847.859
007 a3.565 a2,520.031
008 a3.564 a2,256.898
009 a3.563 a1,268.451
010 a3.562 a819.393
011 a3.561 a391.199
012 a3.560 a3,351.776
013 a3.559 a362.588
卖出aaa
014 a3.558 a195.016
015 a3.557 a184.340
016 a3.556 a442.470
017 a3.554 a577.003

1.txt中第1,7,16行,每行第2个字符后面的内容,替换成aaa,求代码,谢谢!!!

评分

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

查看全部评分

发表于 2019-3-14 01:57:19 | 显示全部楼层
  1. @echo off

  2. rem 设置要替换的行
  3. set "spcLines=1,9,72,143,253"

  4. rem 设置替换的内容
  5. set "spcStr=aaa"

  6. rem 设置替换起始位置
  7. set "spcPos=4"

  8. (for /f "delims=" %%a in ('findstr ".*" "1.txt"') do (
  9.         set/a "n+=1"
  10.         set "line=%%a"
  11.         setlocal enabledelayedexpansion
  12.         for %%i in (!spcLines!) do if %%i equ !n! set "line=!line:~,%spcPos%!!spcStr!"
  13.         echo;!line!
  14.         endlocal
  15. ))>out.txt
复制代码
 楼主| 发表于 2019-3-14 12:43:30 | 显示全部楼层
回复 2# yhcfsr


    谢谢回复,代码运行后第2行后都替换成!line!,上面我增加了原文内容,能否根据我最新原文修改下,谢谢!!!
发表于 2019-3-14 12:55:20 | 显示全部楼层
  1. sed -r "1s/(..).*/\1aaa/; 7s/(..).*/\1aaa/; 16s/(..).*/\1aaa/" 1.txt > 2.txt
复制代码
发表于 2019-3-14 12:55:27 | 显示全部楼层
  1. sed -r "/^[^0-9]/s/(..).*/\1aaa/" 1.txt > 3.txt
复制代码
 楼主| 发表于 2019-3-14 13:29:12 | 显示全部楼层
回复 5# Batcher


    谢谢,代码完美!!!
发表于 2019-3-14 19:05:04 | 显示全部楼层
本帖最后由 xczxczxcz 于 2019-3-14 19:06 编辑

这东西用PS也是很简单的
  1. (gc 1.txt) -replace '(^\D.).*','$1aaa'|sc 2.txt
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-19 01:58 , Processed in 0.017541 second(s), 9 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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