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

[文本处理] 批处理怎么一篇文章把每个字之间加上空格符?

本帖最后由 nnnn111 于 2011-10-5 15:35 编辑

例如,tttt
变成,t t t t

在顶楼给点内容做测试吧
我帮忙写的代码不需要付钱。如果一定要给,请在微信群或QQ群发给大家吧。
【微信公众号、微信群、QQ群】http://bbs.bathome.net/thread-3473-1-1.html
【支持批处理之家,加入VIP会员!】http://bbs.bathome.net/thread-67716-1-1.html

TOP

  1. gawk -v FS="" "{$1=$1;print}" a.txt
复制代码
  1. gawk "BEGIN{FS=\"\"}{$1=$1;print}" a.txt
复制代码

TOP

一篇10MB的文章?(以内)
带有括号、感叹号、等特殊符号,还要用纯P,速度还要快,能在30秒内完成?

TOP

难。还三十秒,一分钟能完成已经不错了。
通常见到的办法都是一个一个字的处理,非常费时间。
除非有其他比较巧妙点的办法。
寂寞是黑白的,但黑白不是寂寞,是永恒。BAT 需要的不是可能,而是智慧。

TOP

  1. @echo off
  2. gawk -F "" "{$1=$1;print}" a.txt
  3. pause
复制代码

TOP

回复 3# FOR
  1. gawk -F "" "$1=$1" a.txt
复制代码

TOP

回复 6# xslxslxsl


不用写print,见7楼。

TOP

回复 7# awk

简洁,但是晦涩,对我这个新手来说更晕了。

TOP

回复 9# FOR


它的语法里面不是分为pattern、action什么的几块吗,记住默认的action是print $0就行了。
啥时候想些print $0或者print,先考虑一些能否使用默认action

TOP

用P做不到吗?批不可以逐字读取?

TOP

回复 11# zaixinxiangnian


可以做到:
  1. @echo off
  2. (for /f "delims=" %%a in (a.txt) do (
  3.     call :AddBlank "%%a"
  4. ))>b.txt
  5. goto :eof
  6. :AddBlank
  7. setlocal enabledelayedexpansion
  8. set "str=%~1"
  9. set n=0
  10. :loop
  11. set t=!str:~%n%,1!
  12. if "!t!" neq "" (
  13.     set /p =!t! <nul
  14.     set /a n+=1
  15.     goto :loop
  16. ) else (
  17.     echo,
  18. )
  19. endlocal
复制代码

TOP

回复 8# awk


    谢谢指点,这个print写上去是不是也可以啊?

TOP

返回列表