[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

本帖最后由 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,求代码,谢谢!!!
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

  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
复制代码
QQ 33892006

TOP

回复 2# yhcfsr


    谢谢回复,代码运行后第2行后都替换成!line!,上面我增加了原文内容,能否根据我最新原文修改下,谢谢!!!

TOP

  1. sed -r "1s/(..).*/\1aaa/; 7s/(..).*/\1aaa/; 16s/(..).*/\1aaa/" 1.txt > 2.txt
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. sed -r "/^[^0-9]/s/(..).*/\1aaa/" 1.txt > 3.txt
复制代码
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

回复 5# Batcher


    谢谢,代码完美!!!

TOP

本帖最后由 xczxczxcz 于 2019-3-14 19:06 编辑

这东西用PS也是很简单的
  1. (gc 1.txt) -replace '(^\D.).*','$1aaa'|sc 2.txt
复制代码

TOP

返回列表