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

[文本处理] 批处理替换TXT整行内容

比如我有个TXT文件内容为:
互联网入口已成为各大巨头的必争之地,从操作系统演绎到现今的浏览器。自从微软通过在Windows系统自带IE浏览器而打败Netscape网景浏览器以来,
这场针对浏览器的争夺战就没有停息过。如今更是涌现出Firefox、IE、Opera、Chrome以及Safari多国争霸的态势,虽说“分久必合、合久必分”,
不过在这里,我们仍然看不到“合”,而且这种激烈的争夺战可能会持续演绎下去。下面我们详细了解一下各大浏览器的现状
AAA

我想要处理后的效果变成:
互联网入口已成为各大巨头的必争之地,从操作系统演绎到现今的浏览器。自从微软通过在Windows系统自带IE浏览器而打败Netscape网景浏览器以来,
这场针对浏览器的争夺战就没有停息过。如今更是涌现出Firefox、IE、Opera、Chrome以及Safari多国争霸的态势,虽说“分久必合、合久必分”,
不过在这里,我们仍然看不到“合”,而且这种激烈的争夺战可能会持续演绎下去。下面我们详细了解一下各大浏览器的现状
BBB

现在要做的就是要把某个文件下里所有TXT文件最后一行的AAA换成BBB,要怎么才能实现?

TOP

回复 8# lbailian


   看不到我已经给你解答了么。只用sed、?

TOP

回复 6# gawk
sed.exe是个什么程序?我该怎样才能正常使用您给的批处理文件?

TOP

本帖最后由 canyuexiaolang 于 2012-4-28 15:05 编辑
  1. @echo off
  2. for /f "tokens=* delims=" %%i in (1.txt) do set /a num+=1
  3. for /f "tokens=* delims=" %%i in (1.txt) do (
  4.     set /a line+=1
  5.     set "n=%%i"
  6.     setlocal enabledelayedexpansion
  7.     if !line! equ %num% (echo !n:AAA=BBB!>>1_temp.txt) else (echo %%i>>1_temp.txt)
  8.     endlocal
  9. )
  10. move "1_temp.txt" "1.txt" && echo 完成
  11. pause>nul
复制代码

TOP

回复 5# lbailian


    你没有sed.exe

TOP

回复 4# gawk
执行代码后显示这个,请教一下是不是我哪里搞错了?
  1. @echo off
  2. sed -i "$ s/AAA/BBB/" *.txt
  3. @pause
复制代码

TOP

回复 3# lbailian


    把a.txt改成*.txt

TOP

回复 2# gawk

要处理文件夹里的所有TXT文件要怎么实现?

TOP

  1. sed -i "$ s/AAA/BBB/" a.txt
复制代码

TOP

返回列表