标题: [文本处理] 【已解决】批处理如何将多个文本里的指定字符/字符串替换成回车换行符 [打印本页]
作者: bbaa 时间: 2016-7-29 21:11 标题: 【已解决】批处理如何将多个文本里的指定字符/字符串替换成回车换行符
本帖最后由 bbaa 于 2016-8-1 19:23 编辑
bat如何将特定的内容替换成换行\r\n
有很多个文本
内容都只有一行
里面都有一个特定的分割符 以Html的<br/>
为例
如何把它替换成换行符(把它换行呢?)
- @Echo off
- setlocal enabledelayedexpansion
- set Lf=^
-
-
- for %%j in ("!Lf!") do (
- for /f "delims=" %%i in (1.txt) do (
- set "str=%%i"
- set "str=!str:<br/>=%%~j!"
- echo !str!>>1.tmp
- )
- )
- more 1.tmp>1.txt
复制代码
已解决
作者: hlzj88 时间: 2016-7-29 22:22
- sed -i "s/<br \/>/<p>/g;s/<\/br>/<p>/g;s/<br\/>/<p>/g;s/<br>/<p>/g" "file"
- sed -i "s/<br\/>/\n<p>/g" "file"
复制代码
两行两个例子 1 所有跟br沾关系的都替换为<p>,对于网页,用浏览器打开就是换行的 2适合文本类需要直接效果,1 2 都是所有的都替换。
作者: pcl_test 时间: 2016-7-29 23:18
本帖最后由 pcl_test 于 2016-7-30 13:18 编辑
回复 2# hlzj88
应该说<br>或<br />在网页中才是换行,另可以这样sed -i -r "s/<br\s?\/?>/\r\n/g"
作者: gawk 时间: 2016-7-30 08:01
回复 2# hlzj88
这个场景使用其它符号作为s命令的分隔符比较好- sed "s#<br/>#\r\n#g" 1.txt > 2.txt
复制代码
作者: hlzj88 时间: 2016-8-1 23:52
谢谢楼上两位指正。刚好可以借鉴。
欢迎光临 批处理之家 (http://bbs.bathome.net/) |
Powered by Discuz! 7.2 |