Board logo

标题: [文本处理] 批处理怎样删除指定行? [打印本页]

作者: myz8309    时间: 2020-4-30 08:10     标题: 批处理怎样删除指定行?

大家好,我是批处理小白
我现在想用.bat文件删除一个文件(.tap)中的5,6,7行和n-2,n-1,n行(文件一共n行,n是变量,不一定是多少),并将文件改成.ibl格式保存。
作者: ivor    时间: 2020-4-30 09:10

powershell
  1. $arr = [System.Collections.ArrayList](gc 1.tap)
  2. $arr.RemoveRange(4,3);$arr.RemoveRange(($arr.Count-2),2)
  3. Out-File -FilePath 1.ibl -InputObject $arr
复制代码

作者: netdzb    时间: 2020-4-30 09:19

回复 1# myz8309


用sed  命里命令的 d参数删除行
作者: netdzb    时间: 2020-4-30 09:24

回复 1# myz8309

其实这个活用python或者高级语言做也是挺容易的。
逐步读入行,写入一个新文件就是文件拷贝。
这里加上行号的条件判断就可以了。

批处理也是可以逐行读入的,不过批处理怎么判断行号的,我也不怎么会了。
作者: myz8309    时间: 2020-4-30 09:58

回复 2# ivor


    大神,首先非常感谢您的回复,我是个bat的小白,因为用别的画图软件,然后想批处理一下输出的文件,才想到用bat。

但是我得到的结果是图示这样,烦请大神指教。
作者: wujunkai    时间: 2020-4-30 11:56

回复 4# netdzb


    findstr /N
作者: Batcher    时间: 2020-4-30 12:33

回复 5# myz8309


2楼是PowerShell代码,执行方法如下:
http://bbs.bathome.net/thread-31071-1-1.html




欢迎光临 批处理之家 (http://bbs.bathome.net/) Powered by Discuz! 7.2