标题: [文本处理] 【已解决】批处理修改文本请教,包括添加一行字符,替换指定行的某个字符 [打印本页]
作者: 1990claire 时间: 2014-4-1 22:03 标题: 【已解决】批处理修改文本请教,包括添加一行字符,替换指定行的某个字符
本帖最后由 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
。。。。。。
作者: DAIC 时间: 2014-4-1 22:49
第三行全变为a- sed "3s/./a/g" a.txt > b.txt
复制代码
作者: DAIC 时间: 2014-4-1 22:50
2、在第二行添加一行字段( 如下面的:options template)。- sed "2s/^/options template\n/" a.txt > b.txt
复制代码
作者: DAIC 时间: 2014-4-1 22:55
最后在某一行(假设是包含tdef的行)第6~7个字符换成别的字符(如下面举例的44变为23)- sed "/tdef/s/^\(.....\)../\123/" a.txt > b.txt
复制代码
作者: 1990claire 时间: 2014-4-1 23:04
回复 4# DAIC
很感谢您的回复。不过,以上命令可以合并到一起运行一个bat来达到修改文本的效果吗?
作者: 1990claire 时间: 2014-4-1 23:10
回复 4# DAIC
不过,如果有多行含有tdef.但是只需要修改其中一处(出现在文本第5行,也是全文出现的第一个含有tdef的行).呢?
作者: DAIC 时间: 2014-4-2 09:32
回复 6# 1990claire - sed "0,/tdef/s/^\(.....\)../\123/" a.txt > b.txt
复制代码
作者: DAIC 时间: 2014-4-2 09:33
合并2楼和7楼- sed -e "3s/./a/g" -e "0,/tdef/s/^\(.....\)../\123/" a.txt > b.txt
复制代码
作者: a5321 时间: 2020-12-23 11:35
非常感谢 兄弟们的分享
欢迎光临 批处理之家 (http://bathome.net./) |
Powered by Discuz! 7.2 |