标题: [文本处理] 批处理替换TXT整行内容 [打印本页]
作者: lbailian 时间: 2012-4-27 21:08 标题: 批处理替换TXT整行内容
比如我有个TXT文件内容为:
互联网入口已成为各大巨头的必争之地,从操作系统演绎到现今的浏览器。自从微软通过在Windows系统自带IE浏览器而打败Netscape网景浏览器以来,
这场针对浏览器的争夺战就没有停息过。如今更是涌现出Firefox、IE、Opera、Chrome以及Safari多国争霸的态势,虽说“分久必合、合久必分”,
不过在这里,我们仍然看不到“合”,而且这种激烈的争夺战可能会持续演绎下去。下面我们详细了解一下各大浏览器的现状
AAA
我想要处理后的效果变成:
互联网入口已成为各大巨头的必争之地,从操作系统演绎到现今的浏览器。自从微软通过在Windows系统自带IE浏览器而打败Netscape网景浏览器以来,
这场针对浏览器的争夺战就没有停息过。如今更是涌现出Firefox、IE、Opera、Chrome以及Safari多国争霸的态势,虽说“分久必合、合久必分”,
不过在这里,我们仍然看不到“合”,而且这种激烈的争夺战可能会持续演绎下去。下面我们详细了解一下各大浏览器的现状
BBB
现在要做的就是要把某个文件下里所有TXT文件最后一行的AAA换成BBB,要怎么才能实现?
作者: gawk 时间: 2012-4-27 21:46
- sed -i "$ s/AAA/BBB/" a.txt
复制代码
作者: lbailian 时间: 2012-4-27 21:48
回复 2# gawk
要处理文件夹里的所有TXT文件要怎么实现?
作者: gawk 时间: 2012-4-27 21:48
回复 3# lbailian
把a.txt改成*.txt
作者: lbailian 时间: 2012-4-27 23:08
回复 4# gawk
执行代码后显示这个,请教一下是不是我哪里搞错了?- @echo off
- sed -i "$ s/AAA/BBB/" *.txt
- @pause
复制代码
作者: gawk 时间: 2012-4-27 23:13
回复 5# lbailian
你没有sed.exe
作者: canyuexiaolang 时间: 2012-4-28 09:14
本帖最后由 canyuexiaolang 于 2012-4-28 15:05 编辑
- @echo off
- for /f "tokens=* delims=" %%i in (1.txt) do set /a num+=1
- for /f "tokens=* delims=" %%i in (1.txt) do (
- set /a line+=1
- set "n=%%i"
- setlocal enabledelayedexpansion
- if !line! equ %num% (echo !n:AAA=BBB!>>1_temp.txt) else (echo %%i>>1_temp.txt)
- endlocal
- )
- move "1_temp.txt" "1.txt" && echo 完成
- pause>nul
复制代码
作者: lbailian 时间: 2012-4-28 11:56
回复 6# gawk
sed.exe是个什么程序?我该怎样才能正常使用您给的批处理文件?
作者: canyuexiaolang 时间: 2012-4-28 14:55
回复 8# lbailian
看不到我已经给你解答了么。只用sed、?
作者: gawk 时间: 2012-4-28 17:19
回复 8# lbailian
http://www.bathome.net/thread-1114-1-1.html
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |