Board logo

标题: [文本处理] 批处理如何取txt文件最后三行? [打印本页]

作者: ditto    时间: 2015-1-26 09:14     标题: 批处理如何取txt文件最后三行?

因为txt为日志文件较大,编辑器打开慢,想直接看后面三行。
哪位高手帮写个bat
作者: apang    时间: 2015-1-26 09:52

  1. for /f %%a in ('find /c /v ""^<a.txt') do set/a n=%%a-3
  2. more +%n% a.txt
复制代码

作者: 慕夜蓝化    时间: 2015-1-26 14:35

  1. for /f %%i in ('type "a.txt"^|find /v /c ""') do (
  2.     set/a n=%%i-3
  3. )
  4. for /f "skip=%n% tokens=1-2 delims=[]" %%i in ('type "a.txt"^|find /v /n ""') do (
  5.     echo,%%j
  6. )
复制代码
mark
作者: DAIC    时间: 2015-1-26 15:21

回复 2# apang


    大日志行数容易超过BAT计算上限
作者: DAIC    时间: 2015-1-26 15:24

如果你安装了UnxUtils工具包,可以使用tail命令:
  1. @echo off
  2. tail -n 3 a.txt
  3. pause
复制代码

作者: terse    时间: 2015-1-26 15:40

win7话 试下POWERSHELL
作者: CrLf    时间: 2015-1-26 16:46

powershell
  1. (Get-Content a.txt)[-1..-3]
复制代码
不过会比 tail 消耗大得多
作者: terse    时间: 2015-1-26 17:54

如可用的话 自己过滤一下事件
  1. get-winevent -maxevents 3 -oldest
复制代码

作者: yiwuyun    时间: 2015-1-27 10:01

  1. sed  ":1;$q;N;4,$D;b1" 1.txt
复制代码
sed晦涩难懂,还是gawk清晰。
作者: ditto    时间: 2015-1-28 15:13

高手如云,多谢各位
作者: 缺Ga    时间: 2015-2-1 20:36

小生领教了,多多学习~




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