[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

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

因工作需要需监控一记录的最后几行来判断一服务是否正常决定是否需要重启服务,目前不确定要几行数据,需根据实际观察来调整。
通过批处理也能实现只取最后几行,但因文本较大,p运行耗时较长,因此计划用sed来获取最后几行,sed我是门外汉,百度代码测试不成功,因此求助论坛高手
因暂不确定需要几行数据,因此代码最好可以修改。
系统2003  需写入文本
目的,学习批处理

本帖最后由 hlzj88 于 2016-1-30 10:02 编辑

在论坛搜索到这个,算解决问题了,,但还是怕超大
apang 发表于 2015-1-26 09:52
目的,学习批处理

TOP

回复 2# hlzj88


    多大?,文件行数多少?。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 3# codegay
8M多 ,还会长大
每行不长,行数没统计
目的,学习批处理

TOP

第三方tail
  1. 提取倒数两行:tail -n 2 test.txt
复制代码
1

评分人数

TOP

如果要用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行的数字,来决定打印后几行

TOP

本帖最后由 hlzj88 于 2016-1-30 14:43 编辑

回复 5# bailong360
其实不介意使用另外的第三方,达到目的就好。但我是连tail都不知道。 谢谢!
回复 6# dizimotong
非常感谢,按你的代码建立了文本和bat,随便找了文本进行测试,没看到效果,因为要输出到文本,略添加输出后,无输出。
因为5楼已经解决了,所以不求甚解。还是感谢!!
不过你这样的sed用法倒是第一次见,要学,先解决问题为主。
要是可以用sed搞定,希望能再上代码,起码完成提问标题所指 用sed
目的,学习批处理

TOP

伸手要代码的反过来教育别人了。
去学去写去用才有进步。安装python3代码存为xx.py 双击运行或右键用IDLE打开按F5运行

TOP

回复 8# codegay
喔  学以致用,有能帮的也帮了,有不会的也是要问的。
目的,学习批处理

TOP

本帖最后由 pcl_test 于 2016-11-10 22:48 编辑
  1. rem 提取文本最后10行
  2. powershell -c "(gc '文本.txt')[-10..-1]}"
  3. pause
复制代码

TOP

返回列表