标题: [文本处理] 批处理如何删除文本中指定内容,但每行开头的字符需保留 [打印本页]
作者: no543216789 时间: 2019-4-8 18:12 标题: 批处理如何删除文本中指定内容,但每行开头的字符需保留
在txt文档中,如何在每行内部中删除指定的字符,但每行都要保留行首的字符。例如:
[一生 ]1984年6月26日[一生 ]出生于[一生 ]陕西省[一生 ]西安市。
需要将 [一生 ] 这几个字符从每行中删除,但又要保留行首的那个。
变成这样
[一生 ]1984年6月26日出生于陕西省西安市。
也就是说,每行中除了第一个 [一生 ] ,其它的都删除掉。请问可以实现这样吗,谢谢
作者: WHY 时间: 2019-4-8 18:31
本帖最后由 WHY 于 2019-4-8 19:13 编辑
- $arr = (type 1.txt -ReadCount 0) -replace '(?!^)\[一生 ]'; sc 2.txt $arr
复制代码
作者: zaqmlp 时间: 2019-4-8 18:50
- @echo off
- set info=互助互利,支付宝扫码头像,感谢赞助
- rem 有问题,可加QQ956535081及时沟通
- title %info%
- start mshta VBScript:Execute("msgbox(""%info%""):close")
- cd /d "%~dp0"
- set "入=a.txt"
- set "出=b.txt"
- powershell ^
- $s='[一生 ]';^
- $t=@(gc '%入%')^|%%{$r=$_.replace($s,'');if(-join($_[0..($s.length-1)]) -eq $s){$s+$r}else{$r}};^
- [IO.File]::WriteAllLines('%出%', $t, [Text.Encoding]::Default);
- pause
复制代码
作者: Batcher 时间: 2019-4-9 09:33
- sed "s/\[一生 \]//g; s/^/[一生 ]/" 1.txt > 2.txt
复制代码
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |