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

[文本处理] 批处理如何替换指定字段?

[复制链接]
发表于 2016-2-20 11:31:29 | 显示全部楼层 |阅读模式
寒假作业题  下面有账号落干
账号1----dfadg
账号2----fs**sd
账号3----dfawsd
要求密码全部为123456,应该怎么做呢?

评分

参与人数 1PB -2 收起 理由
pcl_test -2 勿发笼统无意义的标题

查看全部评分

发表于 2016-2-20 13:29:23 | 显示全部楼层
回复 1# 279874107
  1. @echo off
  2. (for /f "delims=-" %%a in ('type 66.txt') do (
  3.         echo %%a----123456
  4. ))>new.txt
复制代码
发表于 2016-2-20 15:48:32 | 显示全部楼层
  1. """
  2. 如何替换指定字段.py
  3. http://bbs.bathome.net/thread-39434-1-1.html
  4. 2016年2月20日 14:51:20 codegay
  5. """
  6. with open("a.txt","r+") as f:
  7.     txt=[r.rstrip("\n").split("-")[0]+"---123\n" for r in f.readlines()]
  8.     print(txt)
  9.     f.seek(0)
  10.     f.truncate()
  11.     [f.write(r) for r in txt]
  12.     print(txt)
复制代码
发表于 2016-2-20 16:55:50 | 显示全部楼层
  1. #方法2 正则表达式
  2. #2016年2月20日 15:50:15
  3. import re
  4. with open("b.txt","r+") as f:
  5.     txt=re.sub(r"(.+?)---.+",r"\1---1234",f.read())
  6.     print(txt)
  7.     f.seek(0)
  8.     f.truncate()
  9.     f.write(txt)
复制代码
发表于 2016-2-20 18:41:45 | 显示全部楼层
本帖最后由 ivor 于 2016-2-20 18:53 编辑
  1. # python 3.5.1
  2. # coding:utf-8
  3. # by:ivor  bathome.net
  4. # re.sub替换示例,请把被替换的文件拖到本程序运行

  5. import re, sys
  6. if len(sys.argv) > 1:
  7.     rFile = sys.argv[1]
  8. else:
  9.     exit(1)
  10. with open(rFile, "r") as file:
  11.     wFile = open("new.txt", "w")
  12.     for line in file:
  13.         reg = re.compile(r"[a-zA-Z](.*?)$")
  14.         line = re.sub(reg,"123456",line)
  15.         wFile.write(line)
  16.     wFile.close()
  17. print("结果保存在new.txt")
  18. input("")
复制代码

评分

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

查看全部评分

发表于 2016-2-20 19:20:32 | 显示全部楼层
楼上的真会玩
  1. sed -i "s/----.*$/----123456/g" test.txt
复制代码
racket对中文的支持不完善,还是练习js吧
  1. //&cls&cscript -nologo -e:jscript "%~f0" >New.txt&exit
  2. WSH.Echo(new ActiveXObject('Scripting.FileSystemObject').OpenTextFile('test.txt', 1).ReadAll().replace(/----.*/g,'----123456'));
复制代码

评分

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

查看全部评分

您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-18 04:29 , Processed in 0.017912 second(s), 8 queries , File On.

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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