找回密码
 注册
搜索
[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
查看: 27605|回复: 7

[文本处理] 批处理如何指定删除文本的第几行?

[复制链接]
发表于 2011-12-6 13:24:50 | 显示全部楼层 |阅读模式
有一批txt文档, 全部将各自的第三行整行删除掉!

谢谢
发表于 2011-12-6 13:38:05 | 显示全部楼层
本帖最后由 CrLf 于 2011-12-6 13:44 编辑

用 for 循环你懂得
  1. more +3 a.txt>b.txt
  2. ::适合处理少量大文件
复制代码
  1. (for /f "skip=3 delims=" %%a in (a.txt) do echo %%a)>b.txt
  2. ::适合处理大量小文件,输出不含空行
复制代码
  1. findstr /n .* *.txt|findstr /vb "[^:]*:[123]:"
  2. ::适合处理大量大文件
复制代码
 楼主| 发表于 2011-12-6 14:15:00 | 显示全部楼层
回复 2# CrLf


    版主你好,谢谢你这么快百忙之中的回复!
我用gawk

麻烦帮我看看
gawk "NR==3" *.txt & del

这个哪里错啊

显示第三行并删除这一行
发表于 2011-12-6 17:53:48 | 显示全部楼层
  1. gawk "NR!=3" a.txt >b.txt
复制代码
 楼主| 发表于 2011-12-6 17:55:13 | 显示全部楼层
回复 4# awk


    你好 awk
假如是处理一堆文件怎么写呢
刚刚测试了一下a.txt的单个文件是成功的哦
发表于 2011-12-7 10:37:42 | 显示全部楼层
本帖最后由 545810831 于 2011-12-7 10:38 编辑

把处理过的文本放入b文件夹
  1. @echo off
  2. if not exist b md b
  3. for %%i in (*.txt) do (
  4. for /f "tokens=1,2 delims=:" %%a in ('findstr /n ".*" "%%~i"') do if  %%a neq 3 echo %%b>>"b\%%i"
  5. )
  6. pause
复制代码
发表于 2011-12-7 10:43:52 | 显示全部楼层
回复 5# fanfande
  1. @echo off
  2. for %%a in (*.txt) (
  3.     gawk "NR!=3" "%%a" >"%%a.new"
  4. )
复制代码
发表于 2013-11-30 07:02:27 | 显示全部楼层
路过看看情况,哎
您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|批处理之家 ( 渝ICP备10000708号 )

GMT+8, 2026-3-20 20:08 , Processed in 0.028737 second(s), 17 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表