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

[文本处理] 【已解决】批处理修改文本请教,包括添加一行字符,替换指定行的某个字符

本帖最后由 1990claire 于 2014-4-3 22:33 编辑

想批处理修改某txt。包括
1、某一行全部换为另一字段(或是删除一行)(如第三行全变为a);
2、在第二行添加一行字段( 如下面的:options template)。
3、最后在某一行第几个字符换成别的字符(如下面举例的4变为23);
4、还有在某一行(指定行)添加或是删除第(m到n)个字符(该字符在全文重复出现,只希望替换指定行的该字符),应该怎么做呢?
(感谢各位大神了,希望能有rem注释)
原本内容(1.txt)是
nihao
ganxie
33333
tdef 44 line 34 你好
55555
。。。。。
想变为
nihao
options template
ganxie
hello
aaaaa
tdef  23 line 56 你好
5555555
。。。。。。
1

评分人数

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

第三行全变为a
  1. sed "3s/./a/g" a.txt > b.txt
复制代码

TOP

2、在第二行添加一行字段( 如下面的:options template)。
  1. sed "2s/^/options template\n/" a.txt > b.txt
复制代码

TOP

最后在某一行(假设是包含tdef的行)第6~7个字符换成别的字符(如下面举例的44变为23)
  1. sed "/tdef/s/^\(.....\)../\123/" a.txt > b.txt
复制代码

TOP

回复 4# DAIC


    很感谢您的回复。不过,以上命令可以合并到一起运行一个bat来达到修改文本的效果吗?

TOP

回复 4# DAIC


    不过,如果有多行含有tdef.但是只需要修改其中一处(出现在文本第5行,也是全文出现的第一个含有tdef的行).呢?

TOP

回复 6# 1990claire
  1. sed "0,/tdef/s/^\(.....\)../\123/" a.txt > b.txt
复制代码

TOP

合并2楼和7楼
  1. sed -e "3s/./a/g" -e "0,/tdef/s/^\(.....\)../\123/" a.txt > b.txt
复制代码
1

评分人数

TOP

非常感谢 兄弟们的分享

TOP

返回列表