[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖
本帖最后由 CrLf 于 2015-10-21 17:29 编辑
  1. @echo off
  2. for /f "delims=" %%a in (a.txt) do (
  3.   set /a m=n/200+1,n+=1
  4.   set "str=%%a"
  5.   setlocal enabledelayedexpansion
  6.   echo;!str!>a!m!.txt
  7.   endlocal
  8. )<a.txt
  9. pause
复制代码
  1. @echo off
  2. for /f %%a in ('find /c /v "" ^<a.txt') do set /a "n=%%a/200+!!(%%a%%200)"
  3. setlocal enabledelayedexpansion
  4. (
  5.   for /l %%a in (1 1 %n%) do (
  6.     for /l %%b in (1 1 200) do (
  7.       set "str="
  8.       set /p "str="
  9.       echo;!str!
  10.     )
  11.   )>a%%a.txt
  12. )<a.txt
  13. pause
复制代码

TOP

本帖最后由 CrLf 于 2015-10-21 18:09 编辑

gawk:
  1. gawk "{n=int(NR/40)+1;print $0>n \".txt\"}"
复制代码
有 sed 的话,还可以这样玩
  1. @sed "1~40!d" a.txt | sed "=" | sed -r "N;s/(.*)\n(.*)/\2,+39w\1.txt/g" | sed -f - a.txt
复制代码
1

评分人数

    • bailong360: 最近流行写丧心病狂的代码么技术 + 1

TOP

回复 6# 依山居


    gawk "{n=int(NR/40)+1;print $0>n \".txt\"}"
的意思是:
  1. n   =  int           ( NR               /       40 ) +  1;  print $0     >  n \".txt\"
  2. 编号 = 转为int整数类型 ( 此文件中当前的记录号 / 步伐的间隔 ) + 1 ; 输出  当前行  到 编号.txt
复制代码
1

评分人数

TOP

回复 11# bailong360


    搜噶

TOP

返回列表