标题: {求救}删除首尾各10行的批处理!
[打印本页]
作者: dj0733
时间: 2007-2-11 02:11
标题: {求救}删除首尾各10行的批处理!
如题.
哪位哥哥能帮忙做一个吗?
顺便问一下,,,
批处理时,在TXT文件里如何把 <5> 替换成为回车键 ?
全文修改的
非常感谢
作者: vkill
时间: 2007-2-11 02:30
自己修改下用
for /f %%? in ('sed -n "$=" life') do (set n=%%?)
set/a n1=n-10
if %n1% lss 10 (echo 文件不足20行&pause>nul&exit)
sed "1,10d;%n1%,$d" life|more>newlife
作者: dj0733
时间: 2007-2-11 02:38
谢楼上.如果我想删除 *.TXT 首15行,...尾20行,你能不能教我怎么修改呢?
[
Last edited by dj0733 on 2007-2-10 at 01:42 PM ]
作者: vkill
时间: 2007-2-11 02:48
Quote: |
Originally posted by dj0733 at 2007-2-11 02:38:
谢楼上.如果我想删除 *.TXT 首15行,...尾20行,你能不能教我怎么修改呢?
[ Last edited by dj0733 on 2007-2-10 at 01:42 PM ] |
|
自己都不琢磨就问???
作者: zh159
时间: 2007-2-11 02:55
Quote: |
Originally posted by dj0733 at 2007-2-10 13:38:
谢楼上.如果我想删除 *.TXT 首15行,...尾20行,你能不能教我怎么修改呢?
[ Last edited by dj0733 on 2007-2-10 at 01:42 PM ] |
|
应该问:你直接把代码改为首15行,...尾20行的给我
PS:要先看清楚代码的用途
作者: dj0733
时间: 2007-2-11 03:09
第一个是错的啊.2楼的哥们.我用了.
作者: ccwan
时间: 2007-2-11 03:21
我猜你一定没有定义文件for /f %%? in ('sed -n "$=" test.txt') do (set n=%%?)
set/a n1=n-10
if %n1% lss 10 (echo 文件不足20行&pause>nul&exit)
sed "1,10d;%n1%,$d" test.txt|more>new.txt
作者: dj0733
时间: 2007-2-11 03:42
提示:SED 不是内部命令也不是外部命令~!第一行出错,
作者: ccwan
时间: 2007-2-11 03:45
那你找个sed.exe再试试吧。真不知原来楼主不知sed是第三方工具。
作者: dj0733
时间: 2007-2-11 03:50
呵呵..对不起啊....丢大啦...
不知道BBS里有没有SED.exe呢
作者: redtek
时间: 2007-2-11 03:55
sed.exe 工具下载:
http://www.cn-dos.net/forum/atta ... b72b&download=1
[推荐]sed 文章收集
http://www.cn-dos.net/forum/view ... 1&highlight=sed
[
Last edited by redtek on 2007-2-10 at 02:57 PM ]
作者: dj0733
时间: 2007-2-11 04:07
谢谢各位热心的兄弟啊.
可是CCWAN兄你说我没定义,,我定义了文件也是出错啊!
提示命令语法不正确..
SED.exe 和bat 和NEW.txt 和TEST .txt 全放在一个文件夹里
执行到第一行出错:此时不就有%%?
作者: ccwan
时间: 2007-2-11 05:06
我试过没有问题啊!不知你是怎么回事。
干脆附上一段不用第三方工具的代码。多谢9527兄指点,精简了很多。@echo off
for /f %%i in ('find /v /c ""^<test.txt') do set num=%%i
set/a _num=%num%-10
for /f "skip=10 tokens=1* delims=:" %%i in ('findstr /n .* test.txt') do if %%i lss %_num% echo. %%j>>result.txt
作者: dj0733
时间: 2007-2-11 05:36
谢谢!!!
作者: adonais
时间: 2007-4-14 14:41
呵呵,原来如此