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

[文本处理] [已解决]批处理如何提取文本最后几行?

[复制链接]
发表于 2016-1-30 09:11:53 | 显示全部楼层 |阅读模式
因工作需要需监控一记录的最后几行来判断一服务是否正常决定是否需要重启服务,目前不确定要几行数据,需根据实际观察来调整。
通过批处理也能实现只取最后几行,但因文本较大,p运行耗时较长,因此计划用sed来获取最后几行,sed我是门外汉,百度代码测试不成功,因此求助论坛高手
因暂不确定需要几行数据,因此代码最好可以修改。
系统2003  需写入文本
 楼主| 发表于 2016-1-30 09:59:12 | 显示全部楼层
本帖最后由 hlzj88 于 2016-1-30 10:02 编辑

在论坛搜索到这个,算解决问题了,,但还是怕超大
apang 发表于 2015-1-26 09:52
发表于 2016-1-30 10:47:47 | 显示全部楼层
回复 2# hlzj88


    多大?,文件行数多少?。
 楼主| 发表于 2016-1-30 10:55:54 | 显示全部楼层
回复 3# codegay
8M多 ,还会长大
每行不长,行数没统计
发表于 2016-1-30 12:37:40 | 显示全部楼层
第三方tail
  1. 提取倒数两行:tail -n 2 test.txt
复制代码

评分

参与人数 1技术 +1 收起 理由
hlzj88 + 1 乐于助人

查看全部评分

发表于 2016-1-30 12:55:59 | 显示全部楼层
如果要用sed查看最后几行的话,下面代码给你参考
首先,创建一个名为script.txt的脚本(名字可以自己定)
内容如下:
  1. {
  2. :start
  3. $q
  4. N
  5. 11,$D
  6. b start
  7. }
复制代码
然后,在命令行输入如下命令:
  1. sed -f script.txt YourFileName
复制代码
这样就可以打印最后10行的内容,可以通过修改script.txt中第5行的数字,来决定打印后几行
 楼主| 发表于 2016-1-30 14:38:44 | 显示全部楼层
本帖最后由 hlzj88 于 2016-1-30 14:43 编辑

回复 5# bailong360
其实不介意使用另外的第三方,达到目的就好。但我是连tail都不知道。 谢谢!
回复 6# dizimotong
非常感谢,按你的代码建立了文本和bat,随便找了文本进行测试,没看到效果,因为要输出到文本,略添加输出后,无输出。
因为5楼已经解决了,所以不求甚解。还是感谢!!
不过你这样的sed用法倒是第一次见,要学,先解决问题为主。
要是可以用sed搞定,希望能再上代码,起码完成提问标题所指 用sed
发表于 2016-1-30 14:49:29 | 显示全部楼层
伸手要代码的反过来教育别人了。
 楼主| 发表于 2016-1-30 17:18:48 | 显示全部楼层
回复 8# codegay
喔  学以致用,有能帮的也帮了,有不会的也是要问的。
发表于 2016-11-10 22:42:43 | 显示全部楼层
本帖最后由 pcl_test 于 2016-11-10 22:48 编辑
  1. rem 提取文本最后10行
  2. powershell -c "(gc '文本.txt')[-10..-1]}"
  3. pause
复制代码
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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

GMT+8, 2026-3-20 18:34 , Processed in 0.034806 second(s), 18 queries .

Powered by Discuz! X3.5

© 2001-2026 Discuz! Team.

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