标题: [文本处理] 如何用批处理删除文件指定行以后的内容。 [打印本页]
作者: artisan 时间: 2020-9-16 16:50 标题: 如何用批处理删除文件指定行以后的内容。
本帖最后由 artisan 于 2020-9-16 18:58 编辑
新人求助,我有一个a.txt文件 里面有100行。想直接删掉后面40行。网上查了一下用more可以删除前几行。
电脑无法安装gitbash用不了sed命令。
搜不到别的方法了。
请问大神能否用for实现,怎么写。
作者: netdzb 时间: 2020-9-16 19:25
回复 1# artisan
split不是可以以行来分割文件的。
作者: netdzb 时间: 2020-9-16 19:28
回复 1# artisan
for的写法就是读取前面60行。
for (....)
{
行号判断
echo %%i > dest.txt
} < src.txt
大概是这样的结构,论坛有这个的代码的。
我要去忙了,回来再回复你。
作者: netdzb 时间: 2020-9-16 19:30
回复 1# artisan
本论坛我发过一个gnu版本的sed 4.8,你去搜一下。
作者: Batcher 时间: 2020-9-16 21:39
回复 1# artisan
从这里下载一个 sed.exe 试试
http://bcn.bathome.net/s/tool/index.html?key=sed
作者: qixiaobin0715 时间: 2020-10-3 12:23
- @echo off
- set /p Lines=请输入总行数
- set /a str=%Lines%-40
- setlocal enabledelayedexpansion
- set n=0
- (for /f "delims=" %%a in (a.txt) do (
- set /a n+=1
- echo %%a
- if !n! geq %str% goto abc
- ))>1.txt
- :abc
- pause
复制代码
回复 1# artisan
欢迎光临 批处理之家 (http://www.bathome.net/) |
Powered by Discuz! 7.2 |