Board logo

标题: [文本处理] 批处理如何把txt文本每十行合并成一行? [打印本页]

作者: wssimon    时间: 2016-2-20 12:18     标题: 批处理如何把txt文本每十行合并成一行?

把下列内容每十行变成一行

正在 Ping www.qq.com [111.30.132.101] 具有 500 字节的数据:
来自 111.30.132.101 的回复: 字节=500 时间=33ms TTL=51
来自 111.30.132.101 的回复: 字节=500 时间=26ms TTL=51
来自 111.30.132.101 的回复: 字节=500 时间=27ms TTL=51
来自 111.30.132.101 的回复: 字节=500 时间=28ms TTL=51

111.30.132.101 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 26ms,最长 = 33ms,平均 = 28ms

正在 Ping fbjyd.a.sohu.com [111.13.123.160] 具有 500 字节的数据:
来自 111.13.123.160 的回复: 字节=500 时间=34ms TTL=51
来自 111.13.123.160 的回复: 字节=500 时间=24ms TTL=51
来自 111.13.123.160 的回复: 字节=500 时间=26ms TTL=51
来自 111.13.123.160 的回复: 字节=500 时间=18ms TTL=51

111.13.123.160 的 Ping 统计信息:
    数据包: 已发送 = 4,已接收 = 4,丢失 = 0 (0% 丢失),
往返行程的估计时间(以毫秒为单位):
    最短 = 18ms,最长 = 34ms,平均 = 25ms
作者: ivor    时间: 2016-2-20 13:24

回复 1# wssimon
  1. @echo off&setlocal enabledelayedexpansion
  2. for /f "delims=" %%a in ('type 66.txt') do (
  3. set /a num+=1
  4. set "line=!line!%%a"
  5. if !num! equ 10 (
  6. echo !line!
  7. set /a num=0
  8. set line=
  9. )
  10. )>>new.txt
  11. echo !line!>>new.txt
复制代码

作者: bailong360    时间: 2016-2-20 19:30

sed渣只能这样了
  1. sed  "N;N;N;N;N;N;N;N;N;N;s/\n/ /g" test.txt>New.txt
复制代码

作者: CrLf    时间: 2016-2-20 21:10

  1. @sed -n "H;9~10{x;s/\n/ /gp;d;x}" test.txt>New.txt
复制代码

作者: CrLf    时间: 2016-2-20 23:26

  1. @sed ":a;N;$!{10~10!ba};s/\n/ /g" test.txt>New.txt
复制代码

作者: codegay    时间: 2016-2-21 05:26

楼主没说原因和目的。我数了一下。如果是为了取到    最短 = 26ms,最长 = 33ms,平均 = 28ms
这一行,那么楼主这个思路是挺傻的。




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